@databricks/design-system 2.0.9 → 2.0.10
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/AGENTS.md +7 -7
- package/CHANGELOG.md +22 -0
- package/README.md +14 -3
- package/design-guidance/docs/README.md +42 -5
- package/design-guidance/docs/component-reference.md +100 -0
- package/design-guidance/docs/tokens.md +2 -2
- package/design-guidance/skills/dbui-build-screen.md +1 -1
- package/design-guidance/skills/dbui-check-guidelines.md +1 -1
- package/design-guidance/skills/dbui-pick-component.md +1 -1
- package/design-guidance/skills/dbui-pick-icon.md +1 -1
- package/design-guidance/skills/dbui-review.md +1 -1
- package/design-guidance/skills/dbui-validate.md +1 -1
- package/dist/{RHFControlledTypeaheadComboboxV2-Boee19c1.js → RHFControlledTypeaheadComboboxV2-B8Al2z1N.js} +4 -3
- package/dist/{RHFControlledTypeaheadComboboxV2-Boee19c1.js.map → RHFControlledTypeaheadComboboxV2-B8Al2z1N.js.map} +1 -1
- package/dist/{WizardStepContentWrapper-DfErft8z.js → WizardStepContentWrapper-D_OEwjUE.js} +1310 -492
- package/dist/WizardStepContentWrapper-D_OEwjUE.js.map +1 -0
- package/dist/all-styles.css +89 -0
- package/dist/assets/fonts/dm-mono/DMMono-Regular.woff2 +0 -0
- package/dist/assets/fonts/dm-mono/dm-mono.css +11 -0
- package/dist/assets/fonts/dm-sans/DMSans-variable.woff2 +0 -0
- package/dist/assets/fonts/dm-sans/dm-sans.css +11 -0
- package/dist/assets/graphics/dark/accessDeniedGraphic.svg +1 -0
- package/dist/assets/graphics/dark/auth0Graphic.svg +1 -0
- package/dist/assets/graphics/dark/auth0GraphicLarge.svg +73 -0
- package/dist/assets/graphics/dark/dataMaskiingGraphic.svg +1 -0
- package/dist/assets/graphics/dark/emptyDashboardGraphic.svg +9 -0
- package/dist/assets/graphics/dark/missingBranchGraphic.svg +1 -0
- package/dist/assets/graphics/dark/missingGraphic.svg +1 -0
- package/dist/assets/graphics/dark/outageGraphic.svg +11 -0
- package/dist/assets/graphics/dark/usageOverageGraphic.svg +1 -0
- package/dist/assets/graphics/dark/usageSpikeGraphic.svg +1 -0
- package/dist/assets/graphics/light/accessDeniedGraphic.svg +1 -0
- package/dist/assets/graphics/light/auth0Graphic.svg +1 -0
- package/dist/assets/graphics/light/auth0GraphicLarge.svg +73 -0
- package/dist/assets/graphics/light/dataMaskiingGraphic.svg +1 -0
- package/dist/assets/graphics/light/emptyDashboardGraphic.svg +1 -0
- package/dist/assets/graphics/light/missingBranchGraphic.svg +1 -0
- package/dist/assets/graphics/light/missingGraphic.svg +1 -0
- package/dist/assets/graphics/light/outageGraphic.svg +1 -0
- package/dist/assets/graphics/light/usageOverageGraphic.svg +1 -0
- package/dist/assets/graphics/light/usageSpikeGraphic.svg +1 -0
- package/dist/assets/icons/AZHorizontalIcon.svg +4 -0
- package/dist/assets/icons/AZVerticalIcon.svg +11 -0
- package/dist/assets/icons/AlignCenterIcon.svg +7 -0
- package/dist/assets/icons/AlignJustifyIcon.svg +3 -0
- package/dist/assets/icons/AlignLeftIcon.svg +7 -0
- package/dist/assets/icons/AlignRightIcon.svg +7 -0
- package/dist/assets/icons/AlignVerticalBottomIcon.svg +3 -0
- package/dist/assets/icons/AlignVerticalCenterIcon.svg +5 -0
- package/dist/assets/icons/AlignVerticalTopIcon.svg +3 -0
- package/dist/assets/icons/AppIcon.svg +3 -0
- package/dist/assets/icons/ArrowDownDotIcon.svg +4 -0
- package/dist/assets/icons/ArrowDownFillIcon.svg +3 -0
- package/dist/assets/icons/ArrowDownIcon.svg +3 -0
- package/dist/assets/icons/ArrowInIcon.svg +4 -0
- package/dist/assets/icons/ArrowInTableIcon.svg +4 -0
- package/dist/assets/icons/ArrowLeftIcon.svg +3 -0
- package/dist/assets/icons/ArrowOutTableIcon.svg +4 -0
- package/dist/assets/icons/ArrowOverIcon.svg +4 -0
- package/dist/assets/icons/ArrowRightIcon.svg +3 -0
- package/dist/assets/icons/ArrowUpDotIcon.svg +4 -0
- package/dist/assets/icons/ArrowUpFillIcon.svg +3 -0
- package/dist/assets/icons/ArrowUpIcon.svg +3 -0
- package/dist/assets/icons/ArrowsCollapseIcon.svg +4 -0
- package/dist/assets/icons/ArrowsConnectIcon.svg +6 -0
- package/dist/assets/icons/ArrowsExpandIcon.svg +4 -0
- package/dist/assets/icons/ArrowsUpDownIcon.svg +4 -0
- package/dist/assets/icons/AssistantIcon.svg +3 -0
- package/dist/assets/icons/AtIcon.svg +3 -0
- package/dist/assets/icons/BackupIcon.svg +3 -0
- package/dist/assets/icons/BadgeCodeIcon.svg +5 -0
- package/dist/assets/icons/BadgeCodeOffIcon.svg +5 -0
- package/dist/assets/icons/BarChartIcon.svg +7 -0
- package/dist/assets/icons/BarGroupedIcon.svg +4 -0
- package/dist/assets/icons/BarStackedIcon.svg +3 -0
- package/dist/assets/icons/BarStackedPercentageIcon.svg +3 -0
- package/dist/assets/icons/BarsAscendingHorizontalIcon.svg +5 -0
- package/dist/assets/icons/BarsAscendingVerticalIcon.svg +5 -0
- package/dist/assets/icons/BarsDescendingHorizontalIcon.svg +5 -0
- package/dist/assets/icons/BarsDescendingVerticalIcon.svg +5 -0
- package/dist/assets/icons/BeakerIcon.svg +3 -0
- package/dist/assets/icons/BinaryIcon.svg +3 -0
- package/dist/assets/icons/BlockQuoteIcon.svg +8 -0
- package/dist/assets/icons/BoldIcon.svg +3 -0
- package/dist/assets/icons/BookIcon.svg +3 -0
- package/dist/assets/icons/BookmarkFillIcon.svg +3 -0
- package/dist/assets/icons/BookmarkIcon.svg +3 -0
- package/dist/assets/icons/BooksIcon.svg +5 -0
- package/dist/assets/icons/BracketsCheckIcon.svg +5 -0
- package/dist/assets/icons/BracketsCurlyIcon.svg +4 -0
- package/dist/assets/icons/BracketsErrorIcon.svg +5 -0
- package/dist/assets/icons/BracketsSquareIcon.svg +3 -0
- package/dist/assets/icons/BracketsXIcon.svg +12 -0
- package/dist/assets/icons/BranchCheckIcon.svg +4 -0
- package/dist/assets/icons/BranchIcon.svg +3 -0
- package/dist/assets/icons/BranchResetIcon.svg +5 -0
- package/dist/assets/icons/BriefcaseFillIcon.svg +3 -0
- package/dist/assets/icons/BriefcaseIcon.svg +3 -0
- package/dist/assets/icons/BrushIcon.svg +3 -0
- package/dist/assets/icons/BugIcon.svg +3 -0
- package/dist/assets/icons/CalendarClockIcon.svg +5 -0
- package/dist/assets/icons/CalendarEventIcon.svg +4 -0
- package/dist/assets/icons/CalendarIcon.svg +3 -0
- package/dist/assets/icons/CalendarRangeIcon.svg +11 -0
- package/dist/assets/icons/CalendarSyncIcon.svg +5 -0
- package/dist/assets/icons/CameraIcon.svg +3 -0
- package/dist/assets/icons/CapitalizeIcon.svg +3 -0
- package/dist/assets/icons/CaretDownSquareIcon.svg +4 -0
- package/dist/assets/icons/CaretUpSquareIcon.svg +4 -0
- package/dist/assets/icons/CatalogCloudIcon.svg +4 -0
- package/dist/assets/icons/CatalogGearIcon.svg +11 -0
- package/dist/assets/icons/CatalogHomeIcon.svg +4 -0
- package/dist/assets/icons/CatalogIcon.svg +3 -0
- package/dist/assets/icons/CatalogOffIcon.svg +11 -0
- package/dist/assets/icons/CatalogSharedIcon.svg +4 -0
- package/dist/assets/icons/CatalogUserHomeIcon.svg +4 -0
- package/dist/assets/icons/CellsSquareIcon.svg +3 -0
- package/dist/assets/icons/CertifiedFillIcon.svg +3 -0
- package/dist/assets/icons/CertifiedFillSmallIcon.svg +3 -0
- package/dist/assets/icons/CertifiedIcon.svg +11 -0
- package/dist/assets/icons/ChainIcon.svg +4 -0
- package/dist/assets/icons/ChartLineIcon.svg +4 -0
- package/dist/assets/icons/ChatNewTabIcon.svg +3 -0
- package/dist/assets/icons/ChatSpinnerIcon.svg +3 -0
- package/dist/assets/icons/CheckCircleBadgeIcon.svg +5 -0
- package/dist/assets/icons/CheckCircleFillIcon.svg +3 -0
- package/dist/assets/icons/CheckCircleIcon.svg +4 -0
- package/dist/assets/icons/CheckCircleSmallIcon.svg +3 -0
- package/dist/assets/icons/CheckIcon.svg +3 -0
- package/dist/assets/icons/CheckLineIcon.svg +3 -0
- package/dist/assets/icons/CheckSmallIcon.svg +3 -0
- package/dist/assets/icons/CheckboxIcon.svg +4 -0
- package/dist/assets/icons/ChecklistIcon.svg +7 -0
- package/dist/assets/icons/ChevronDoubleDownIcon.svg +4 -0
- package/dist/assets/icons/ChevronDoubleLeftIcon.svg +4 -0
- package/dist/assets/icons/ChevronDoubleLeftOffIcon.svg +4 -0
- package/dist/assets/icons/ChevronDoubleRightIcon.svg +4 -0
- package/dist/assets/icons/ChevronDoubleRightOffIcon.svg +4 -0
- package/dist/assets/icons/ChevronDoubleUpIcon.svg +4 -0
- package/dist/assets/icons/ChevronDownIcon.svg +3 -0
- package/dist/assets/icons/ChevronLeftIcon.svg +3 -0
- package/dist/assets/icons/ChevronRightIcon.svg +3 -0
- package/dist/assets/icons/ChevronUpIcon.svg +3 -0
- package/dist/assets/icons/ChipIcon.svg +4 -0
- package/dist/assets/icons/CircleIcon.svg +3 -0
- package/dist/assets/icons/CircleOffIcon.svg +3 -0
- package/dist/assets/icons/CircleOffLargeIcon.svg +4 -0
- package/dist/assets/icons/CircleOutlineIcon.svg +3 -0
- package/dist/assets/icons/CircleOutlineLargeIcon.svg +3 -0
- package/dist/assets/icons/ClipboardIcon.svg +3 -0
- package/dist/assets/icons/ClockIcon.svg +4 -0
- package/dist/assets/icons/ClockKeyIcon.svg +5 -0
- package/dist/assets/icons/ClockOffIcon.svg +5 -0
- package/dist/assets/icons/CloseIcon.svg +3 -0
- package/dist/assets/icons/CloseSmallIcon.svg +3 -0
- package/dist/assets/icons/CloudCheckIcon.svg +4 -0
- package/dist/assets/icons/CloudDatabaseIcon.svg +4 -0
- package/dist/assets/icons/CloudDownloadIcon.svg +4 -0
- package/dist/assets/icons/CloudIcon.svg +3 -0
- package/dist/assets/icons/CloudKeyIcon.svg +3 -0
- package/dist/assets/icons/CloudModelIcon.svg +4 -0
- package/dist/assets/icons/CloudOffIcon.svg +4 -0
- package/dist/assets/icons/CloudUploadIcon.svg +4 -0
- package/dist/assets/icons/CodeIcon.svg +4 -0
- package/dist/assets/icons/ColorFillIcon.svg +3 -0
- package/dist/assets/icons/ColorMappingEditIcon.svg +6 -0
- package/dist/assets/icons/ColorMappingIcon.svg +6 -0
- package/dist/assets/icons/ColumnIcon.svg +3 -0
- package/dist/assets/icons/ColumnSplitIcon.svg +3 -0
- package/dist/assets/icons/ColumnTagIcon.svg +4 -0
- package/dist/assets/icons/ColumnsIcon.svg +3 -0
- package/dist/assets/icons/CommandIcon.svg +3 -0
- package/dist/assets/icons/CommandPaletteIcon.svg +3 -0
- package/dist/assets/icons/CompassIcon.svg +4 -0
- package/dist/assets/icons/ConnectIcon.svg +6 -0
- package/dist/assets/icons/CopyIcon.svg +3 -0
- package/dist/assets/icons/CreditCardIcon.svg +4 -0
- package/dist/assets/icons/CursorClickIcon.svg +7 -0
- package/dist/assets/icons/CursorIcon.svg +10 -0
- package/dist/assets/icons/CursorTypeIcon.svg +4 -0
- package/dist/assets/icons/CustomAppIcon.svg +4 -0
- package/dist/assets/icons/DAGHorizontalIcon.svg +3 -0
- package/dist/assets/icons/DAGIcon.svg +3 -0
- package/dist/assets/icons/DAGVerticalIcon.svg +3 -0
- package/dist/assets/icons/DangerFillIcon.svg +3 -0
- package/dist/assets/icons/DangerIcon.svg +5 -0
- package/dist/assets/icons/DangerSmallIcon.svg +3 -0
- package/dist/assets/icons/DashIcon.svg +3 -0
- package/dist/assets/icons/DashboardCodeIcon.svg +5 -0
- package/dist/assets/icons/DashboardIcon.svg +3 -0
- package/dist/assets/icons/DataIcon.svg +5 -0
- package/dist/assets/icons/DatabaseClockIcon.svg +4 -0
- package/dist/assets/icons/DatabaseIcon.svg +3 -0
- package/dist/assets/icons/DatabaseImportIcon.svg +4 -0
- package/dist/assets/icons/DecimalIcon.svg +5 -0
- package/dist/assets/icons/DeprecatedIcon.svg +3 -0
- package/dist/assets/icons/DeprecatedSmallIcon.svg +3 -0
- package/dist/assets/icons/DollarIcon.svg +4 -0
- package/dist/assets/icons/DomainCirclesThree.svg +5 -0
- package/dist/assets/icons/DomainsIcon.svg +5 -0
- package/dist/assets/icons/DotsCircleIcon.svg +13 -0
- package/dist/assets/icons/DownloadIcon.svg +4 -0
- package/dist/assets/icons/DragIcon.svg +8 -0
- package/dist/assets/icons/ERDIcon.svg +3 -0
- package/dist/assets/icons/ExpandLessIcon.svg +4 -0
- package/dist/assets/icons/ExpandMoreIcon.svg +4 -0
- package/dist/assets/icons/FaceFrownIcon.svg +13 -0
- package/dist/assets/icons/FaceNeutralIcon.svg +13 -0
- package/dist/assets/icons/FaceSmileIcon.svg +13 -0
- package/dist/assets/icons/FileCodeIcon.svg +5 -0
- package/dist/assets/icons/FileCubeIcon.svg +4 -0
- package/dist/assets/icons/FileDocumentIcon.svg +5 -0
- package/dist/assets/icons/FileIcon.svg +3 -0
- package/dist/assets/icons/FileImageIcon.svg +5 -0
- package/dist/assets/icons/FileLockIcon.svg +11 -0
- package/dist/assets/icons/FileModelIcon.svg +4 -0
- package/dist/assets/icons/FileNewIcon.svg +4 -0
- package/dist/assets/icons/FilePipelineIcon.svg +4 -0
- package/dist/assets/icons/FilterFillIcon.svg +3 -0
- package/dist/assets/icons/FilterIcon.svg +3 -0
- package/dist/assets/icons/FlagPointerIcon.svg +3 -0
- package/dist/assets/icons/FloatIcon.svg +5 -0
- package/dist/assets/icons/FlowIcon.svg +3 -0
- package/dist/assets/icons/FlowsIcon.svg +3 -0
- package/dist/assets/icons/FolderBranchFillIcon.svg +4 -0
- package/dist/assets/icons/FolderBranchIcon.svg +3 -0
- package/dist/assets/icons/FolderCloudFilledIcon.svg +11 -0
- package/dist/assets/icons/FolderCloudIcon.svg +11 -0
- package/dist/assets/icons/FolderCubeIcon.svg +4 -0
- package/dist/assets/icons/FolderCubeOutlineIcon.svg +4 -0
- package/dist/assets/icons/FolderFillIcon.svg +3 -0
- package/dist/assets/icons/FolderHomeIcon.svg +4 -0
- package/dist/assets/icons/FolderIcon.svg +3 -0
- package/dist/assets/icons/FolderNewIcon.svg +4 -0
- package/dist/assets/icons/FolderNodeIcon.svg +3 -0
- package/dist/assets/icons/FolderOpenBranchIcon.svg +4 -0
- package/dist/assets/icons/FolderOpenCloudIcon.svg +4 -0
- package/dist/assets/icons/FolderOpenCubeIcon.svg +4 -0
- package/dist/assets/icons/FolderOpenIcon.svg +3 -0
- package/dist/assets/icons/FolderOpenPipelineIcon.svg +4 -0
- package/dist/assets/icons/FolderOutlinePipelineIcon.svg +4 -0
- package/dist/assets/icons/FolderSolidPipelineIcon.svg +4 -0
- package/dist/assets/icons/FontIcon.svg +10 -0
- package/dist/assets/icons/ForkHorizontalIcon.svg +3 -0
- package/dist/assets/icons/ForkIcon.svg +3 -0
- package/dist/assets/icons/FullscreenExitIcon.svg +6 -0
- package/dist/assets/icons/FullscreenIcon.svg +6 -0
- package/dist/assets/icons/FunctionIcon.svg +10 -0
- package/dist/assets/icons/FunctionInputIcon.svg +6 -0
- package/dist/assets/icons/GavelIcon.svg +3 -0
- package/dist/assets/icons/GearFillIcon.svg +3 -0
- package/dist/assets/icons/GearIcon.svg +11 -0
- package/dist/assets/icons/GenieCodeIcon.svg +3 -0
- package/dist/assets/icons/GenieDeepResearchIcon.svg +6 -0
- package/dist/assets/icons/GiftIcon.svg +3 -0
- package/dist/assets/icons/GitCommitIcon.svg +3 -0
- package/dist/assets/icons/GitMergeIcon.svg +3 -0
- package/dist/assets/icons/GitRebaseIcon.svg +4 -0
- package/dist/assets/icons/GlobeIcon.svg +10 -0
- package/dist/assets/icons/GridDashIcon.svg +10 -0
- package/dist/assets/icons/GridIcon.svg +6 -0
- package/dist/assets/icons/GroupIcon.svg +12 -0
- package/dist/assets/icons/H1Icon.svg +4 -0
- package/dist/assets/icons/H2Icon.svg +4 -0
- package/dist/assets/icons/H3Icon.svg +4 -0
- package/dist/assets/icons/H4Icon.svg +4 -0
- package/dist/assets/icons/H5Icon.svg +4 -0
- package/dist/assets/icons/H6Icon.svg +4 -0
- package/dist/assets/icons/HashIcon.svg +3 -0
- package/dist/assets/icons/HistoryIcon.svg +11 -0
- package/dist/assets/icons/HomeIcon.svg +3 -0
- package/dist/assets/icons/ImageIcon.svg +4 -0
- package/dist/assets/icons/IndentDecreaseIcon.svg +7 -0
- package/dist/assets/icons/IndentIncreaseIcon.svg +7 -0
- package/dist/assets/icons/InfinityIcon.svg +3 -0
- package/dist/assets/icons/InfoBookIcon.svg +5 -0
- package/dist/assets/icons/InfoFillIcon.svg +3 -0
- package/dist/assets/icons/InfoIcon.svg +3 -0
- package/dist/assets/icons/InfoSmallIcon.svg +5 -0
- package/dist/assets/icons/IngestionIcon.svg +4 -0
- package/dist/assets/icons/ItalicIcon.svg +3 -0
- package/dist/assets/icons/JoinOperatorIcon.svg +3 -0
- package/dist/assets/icons/KeyIcon.svg +3 -0
- package/dist/assets/icons/KeyboardIcon.svg +3 -0
- package/dist/assets/icons/LakebaseCatalogIcon.svg +4 -0
- package/dist/assets/icons/LakebaseIcon.svg +3 -0
- package/dist/assets/icons/LakeflowDesignerIcon.svg +3 -0
- package/dist/assets/icons/LakewatchAlertIcon.svg +4 -0
- package/dist/assets/icons/LakewatchDatasourceIcon.svg +3 -0
- package/dist/assets/icons/LakewatchDetectionRuleIcon.svg +3 -0
- package/dist/assets/icons/LakewatchIcon.svg +4 -0
- package/dist/assets/icons/LakewatchParserIcon.svg +16 -0
- package/dist/assets/icons/LayerGraphIcon.svg +5 -0
- package/dist/assets/icons/LayerIcon.svg +5 -0
- package/dist/assets/icons/LeafIcon.svg +3 -0
- package/dist/assets/icons/LetterFormatIcon.svg +5 -0
- package/dist/assets/icons/LettersIcon.svg +5 -0
- package/dist/assets/icons/LettersNumbersIcon.svg +8 -0
- package/dist/assets/icons/LibrariesIcon.svg +5 -0
- package/dist/assets/icons/LifesaverIcon.svg +3 -0
- package/dist/assets/icons/LightbulbIcon.svg +8 -0
- package/dist/assets/icons/LightningCircleFillIcon.svg +3 -0
- package/dist/assets/icons/LightningIcon.svg +3 -0
- package/dist/assets/icons/LinearLineIcon.svg +3 -0
- package/dist/assets/icons/LinkIcon.svg +5 -0
- package/dist/assets/icons/LinkOffIcon.svg +5 -0
- package/dist/assets/icons/ListBorderIcon.svg +9 -0
- package/dist/assets/icons/ListClearIcon.svg +13 -0
- package/dist/assets/icons/ListIcon.svg +6 -0
- package/dist/assets/icons/ListNumberIcon.svg +6 -0
- package/dist/assets/icons/LoadingIcon.svg +5 -0
- package/dist/assets/icons/LockFillIcon.svg +3 -0
- package/dist/assets/icons/LockIcon.svg +4 -0
- package/dist/assets/icons/LockShareIcon.svg +4 -0
- package/dist/assets/icons/LockUnlockedIcon.svg +4 -0
- package/dist/assets/icons/LoopIcon.svg +3 -0
- package/dist/assets/icons/LowercaseIcon.svg +4 -0
- package/dist/assets/icons/MailIcon.svg +3 -0
- package/dist/assets/icons/MapIcon.svg +3 -0
- package/dist/assets/icons/MarkdownIcon.svg +4 -0
- package/dist/assets/icons/McpIcon.svg +11 -0
- package/dist/assets/icons/MeasureIcon.svg +3 -0
- package/dist/assets/icons/MegaphoneIcon.svg +3 -0
- package/dist/assets/icons/MenuIcon.svg +3 -0
- package/dist/assets/icons/MicrophoneIcon.svg +4 -0
- package/dist/assets/icons/MicrophoneOffIcon.svg +5 -0
- package/dist/assets/icons/MinusCircleFillIcon.svg +3 -0
- package/dist/assets/icons/MinusCircleIcon.svg +4 -0
- package/dist/assets/icons/MinusCircleSmallIcon.svg +4 -0
- package/dist/assets/icons/MinusSquareIcon.svg +4 -0
- package/dist/assets/icons/ModelsIcon.svg +10 -0
- package/dist/assets/icons/MonotoneLineIcon.svg +3 -0
- package/dist/assets/icons/MoonIcon.svg +3 -0
- package/dist/assets/icons/NeonProjectIcon.svg +4 -0
- package/dist/assets/icons/NewChatIcon.svg +4 -0
- package/dist/assets/icons/NewTabIcon.svg +4 -0
- package/dist/assets/icons/NewWindowIcon.svg +4 -0
- package/dist/assets/icons/NoCaseIcon.svg +4 -0
- package/dist/assets/icons/NoIcon.svg +3 -0
- package/dist/assets/icons/NotebookIcon.svg +3 -0
- package/dist/assets/icons/NotebookPipelineIcon.svg +4 -0
- package/dist/assets/icons/NotificationIcon.svg +3 -0
- package/dist/assets/icons/NotificationOffIcon.svg +3 -0
- package/dist/assets/icons/NumberFormatIcon.svg +5 -0
- package/dist/assets/icons/NumbersIcon.svg +5 -0
- package/dist/assets/icons/OfficeIcon.svg +6 -0
- package/dist/assets/icons/OntologyIcon.svg +5 -0
- package/dist/assets/icons/OperatorIcon.svg +4 -0
- package/dist/assets/icons/OverflowHorizontalIcon.svg +3 -0
- package/dist/assets/icons/OverflowIcon.svg +5 -0
- package/dist/assets/icons/PageBottomIcon.svg +3 -0
- package/dist/assets/icons/PageFirstIcon.svg +3 -0
- package/dist/assets/icons/PageIcon.svg +6 -0
- package/dist/assets/icons/PageLastIcon.svg +3 -0
- package/dist/assets/icons/PageTopIcon.svg +3 -0
- package/dist/assets/icons/PanelDockedIcon.svg +3 -0
- package/dist/assets/icons/PanelFloatingIcon.svg +3 -0
- package/dist/assets/icons/PaperclipIcon.svg +3 -0
- package/dist/assets/icons/PassFailChecklistIcon.svg +7 -0
- package/dist/assets/icons/PauseIcon.svg +3 -0
- package/dist/assets/icons/PencilFillIcon.svg +3 -0
- package/dist/assets/icons/PencilIcon.svg +3 -0
- package/dist/assets/icons/PencilSparkleIcon.svg +5 -0
- package/dist/assets/icons/PieChartIcon.svg +4 -0
- package/dist/assets/icons/PinCancelIcon.svg +4 -0
- package/dist/assets/icons/PinFillIcon.svg +3 -0
- package/dist/assets/icons/PinIcon.svg +3 -0
- package/dist/assets/icons/PipelineCodeIcon.svg +5 -0
- package/dist/assets/icons/PipelineCubeIcon.svg +4 -0
- package/dist/assets/icons/PipelineIcon.svg +3 -0
- package/dist/assets/icons/PivotOperatorIcon.svg +4 -0
- package/dist/assets/icons/PlayCircleFillIcon.svg +3 -0
- package/dist/assets/icons/PlayCircleIcon.svg +4 -0
- package/dist/assets/icons/PlayDoubleIcon.svg +4 -0
- package/dist/assets/icons/PlayIcon.svg +3 -0
- package/dist/assets/icons/PlayMultipleIcon.svg +3 -0
- package/dist/assets/icons/PlugIcon.svg +4 -0
- package/dist/assets/icons/PlusCircleFillIcon.svg +3 -0
- package/dist/assets/icons/PlusCircleIcon.svg +4 -0
- package/dist/assets/icons/PlusCircleSmallIcon.svg +4 -0
- package/dist/assets/icons/PlusIcon.svg +3 -0
- package/dist/assets/icons/PlusMinusSquareIcon.svg +5 -0
- package/dist/assets/icons/PlusSquareIcon.svg +4 -0
- package/dist/assets/icons/PositionBottomIcon.svg +4 -0
- package/dist/assets/icons/PositionLeftIcon.svg +4 -0
- package/dist/assets/icons/PositionRightIcon.svg +4 -0
- package/dist/assets/icons/PositionTopIcon.svg +4 -0
- package/dist/assets/icons/PullRequestIcon.svg +4 -0
- package/dist/assets/icons/PuzzleIcon.svg +3 -0
- package/dist/assets/icons/QueryEditorIcon.svg +5 -0
- package/dist/assets/icons/QueryIcon.svg +12 -0
- package/dist/assets/icons/QuestionMarkFillIcon.svg +3 -0
- package/dist/assets/icons/QuestionMarkIcon.svg +5 -0
- package/dist/assets/icons/RadioIcon.svg +3 -0
- package/dist/assets/icons/ReaderModeIcon.svg +6 -0
- package/dist/assets/icons/RedoIcon.svg +10 -0
- package/dist/assets/icons/RefreshIcon.svg +3 -0
- package/dist/assets/icons/RefreshPlayIcon.svg +4 -0
- package/dist/assets/icons/RefreshXIcon.svg +4 -0
- package/dist/assets/icons/ReplyIcon.svg +8 -0
- package/dist/assets/icons/ResizeIcon.svg +3 -0
- package/dist/assets/icons/RichTextIcon.svg +8 -0
- package/dist/assets/icons/RobotIcon.svg +3 -0
- package/dist/assets/icons/RocketIcon.svg +4 -0
- package/dist/assets/icons/RowsIcon.svg +3 -0
- package/dist/assets/icons/RunIcon.svg +3 -0
- package/dist/assets/icons/RunningIcon.svg +10 -0
- package/dist/assets/icons/SQLIcon.svg +6 -0
- package/dist/assets/icons/SaveClockIcon.svg +5 -0
- package/dist/assets/icons/SaveIcon.svg +4 -0
- package/dist/assets/icons/SchemaIcon.svg +3 -0
- package/dist/assets/icons/SchoolIcon.svg +3 -0
- package/dist/assets/icons/SearchDataIcon.svg +6 -0
- package/dist/assets/icons/SearchIcon.svg +10 -0
- package/dist/assets/icons/SendIcon.svg +3 -0
- package/dist/assets/icons/ShareIcon.svg +4 -0
- package/dist/assets/icons/ShareNodesIcon.svg +3 -0
- package/dist/assets/icons/ShieldCheckIcon.svg +3 -0
- package/dist/assets/icons/ShieldIcon.svg +3 -0
- package/dist/assets/icons/ShieldOffIcon.svg +4 -0
- package/dist/assets/icons/ShortcutIcon.svg +4 -0
- package/dist/assets/icons/SidebarAutoIcon.svg +5 -0
- package/dist/assets/icons/SidebarClosedIcon.svg +4 -0
- package/dist/assets/icons/SidebarCollapseIcon.svg +4 -0
- package/dist/assets/icons/SidebarExpandIcon.svg +4 -0
- package/dist/assets/icons/SidebarIcon.svg +3 -0
- package/dist/assets/icons/SidebarOpenIcon.svg +3 -0
- package/dist/assets/icons/SidebarSyncIcon.svg +4 -0
- package/dist/assets/icons/SlashSquareIcon.svg +4 -0
- package/dist/assets/icons/SlidersIcon.svg +4 -0
- package/dist/assets/icons/SlidesIcon.svg +4 -0
- package/dist/assets/icons/SnippetIcon.svg +4 -0
- package/dist/assets/icons/SortAscendingIcon.svg +6 -0
- package/dist/assets/icons/SortCustomHorizontalIcon.svg +4 -0
- package/dist/assets/icons/SortCustomVerticalIcon.svg +4 -0
- package/dist/assets/icons/SortDescendingIcon.svg +3 -0
- package/dist/assets/icons/SortHorizontalAscendingIcon.svg +3 -0
- package/dist/assets/icons/SortHorizontalDescendingIcon.svg +3 -0
- package/dist/assets/icons/SortLetterHorizontalAscendingIcon.svg +12 -0
- package/dist/assets/icons/SortLetterHorizontalDescendingIcon.svg +12 -0
- package/dist/assets/icons/SortLetterUnsortedIcon.svg +5 -0
- package/dist/assets/icons/SortLetterVerticalAscendingIcon.svg +12 -0
- package/dist/assets/icons/SortLetterVerticalDescendingIcon.svg +12 -0
- package/dist/assets/icons/SortUnsortedIcon.svg +6 -0
- package/dist/assets/icons/SparkleDoubleFillIcon.svg +4 -0
- package/dist/assets/icons/SparkleDoubleIcon.svg +5 -0
- package/dist/assets/icons/SparkleFillIcon.svg +3 -0
- package/dist/assets/icons/SparkleIcon.svg +3 -0
- package/dist/assets/icons/SparkleRectangleIcon.svg +3 -0
- package/dist/assets/icons/SpeechBubbleIcon.svg +6 -0
- package/dist/assets/icons/SpeechBubblePlusIcon.svg +4 -0
- package/dist/assets/icons/SpeechBubbleQuestionMarkFillIcon.svg +3 -0
- package/dist/assets/icons/SpeechBubbleQuestionMarkIcon.svg +3 -0
- package/dist/assets/icons/SpeechBubbleStarIcon.svg +4 -0
- package/dist/assets/icons/SpeedometerIcon.svg +4 -0
- package/dist/assets/icons/StarFillIcon.svg +3 -0
- package/dist/assets/icons/StarIcon.svg +3 -0
- package/dist/assets/icons/StepAfterLineIcon.svg +3 -0
- package/dist/assets/icons/StepBeforeLineIcon.svg +3 -0
- package/dist/assets/icons/StopCircleFillIcon.svg +3 -0
- package/dist/assets/icons/StopCircleIcon.svg +3 -0
- package/dist/assets/icons/StopIcon.svg +3 -0
- package/dist/assets/icons/StoredProcedureIcon.svg +7 -0
- package/dist/assets/icons/StorefrontIcon.svg +3 -0
- package/dist/assets/icons/StreamIcon.svg +3 -0
- package/dist/assets/icons/StrikeThroughIcon.svg +4 -0
- package/dist/assets/icons/SunIcon.svg +11 -0
- package/dist/assets/icons/SyncIcon.svg +4 -0
- package/dist/assets/icons/SyncSmallIcon.svg +4 -0
- package/dist/assets/icons/SyncToFileIcon.svg +4 -0
- package/dist/assets/icons/TableAsteriskIcon.svg +4 -0
- package/dist/assets/icons/TableClockIcon.svg +4 -0
- package/dist/assets/icons/TableCombineIcon.svg +5 -0
- package/dist/assets/icons/TableGlassesIcon.svg +4 -0
- package/dist/assets/icons/TableGlobeIcon.svg +4 -0
- package/dist/assets/icons/TableIcon.svg +3 -0
- package/dist/assets/icons/TableLightningIcon.svg +4 -0
- package/dist/assets/icons/TableMeasureIcon.svg +4 -0
- package/dist/assets/icons/TableModelIcon.svg +4 -0
- package/dist/assets/icons/TableReportIcon.svg +4 -0
- package/dist/assets/icons/TableStreamIcon.svg +5 -0
- package/dist/assets/icons/TableVectorIcon.svg +10 -0
- package/dist/assets/icons/TableViewIcon.svg +11 -0
- package/dist/assets/icons/TagColumnIcon.svg +5 -0
- package/dist/assets/icons/TagIcon.svg +4 -0
- package/dist/assets/icons/TagTableIcon.svg +5 -0
- package/dist/assets/icons/TargetIcon.svg +7 -0
- package/dist/assets/icons/TerminalIcon.svg +5 -0
- package/dist/assets/icons/TextBoxIcon.svg +3 -0
- package/dist/assets/icons/TextColorIcon.svg +3 -0
- package/dist/assets/icons/TextIcon.svg +3 -0
- package/dist/assets/icons/TextJustifyIcon.svg +7 -0
- package/dist/assets/icons/TextUnderlineIcon.svg +5 -0
- package/dist/assets/icons/ThreeDotsIcon.svg +3 -0
- package/dist/assets/icons/ThumbsDownFilledIcon.svg +5 -0
- package/dist/assets/icons/ThumbsDownIcon.svg +10 -0
- package/dist/assets/icons/ThumbsUpFilledIcon.svg +3 -0
- package/dist/assets/icons/ThumbsUpIcon.svg +10 -0
- package/dist/assets/icons/TokenIcon.svg +8 -0
- package/dist/assets/icons/TrashIcon.svg +3 -0
- package/dist/assets/icons/TreeIcon.svg +3 -0
- package/dist/assets/icons/TrendingFillIcon.svg +3 -0
- package/dist/assets/icons/TrendingIcon.svg +3 -0
- package/dist/assets/icons/TriangleIcon.svg +3 -0
- package/dist/assets/icons/UnderlineIcon.svg +4 -0
- package/dist/assets/icons/UndoIcon.svg +10 -0
- package/dist/assets/icons/UploadIcon.svg +4 -0
- package/dist/assets/icons/UppercaseIcon.svg +4 -0
- package/dist/assets/icons/UsbIcon.svg +3 -0
- package/dist/assets/icons/UserBadgeIcon.svg +4 -0
- package/dist/assets/icons/UserCircleIcon.svg +4 -0
- package/dist/assets/icons/UserGroupFillIcon.svg +3 -0
- package/dist/assets/icons/UserGroupIcon.svg +5 -0
- package/dist/assets/icons/UserIcon.svg +4 -0
- package/dist/assets/icons/UserKeyIconIcon.svg +5 -0
- package/dist/assets/icons/UserShieldIcon.svg +4 -0
- package/dist/assets/icons/UserSparkleIcon.svg +5 -0
- package/dist/assets/icons/UserTeamIcon.svg +8 -0
- package/dist/assets/icons/VisibleFillIcon.svg +10 -0
- package/dist/assets/icons/VisibleIcon.svg +11 -0
- package/dist/assets/icons/VisibleOffIcon.svg +12 -0
- package/dist/assets/icons/VoiceModeIcon.svg +7 -0
- package/dist/assets/icons/WarningFillIcon.svg +3 -0
- package/dist/assets/icons/WarningIcon.svg +5 -0
- package/dist/assets/icons/WorkflowCodeIcon.svg +5 -0
- package/dist/assets/icons/WorkflowCubeIcon.svg +5 -0
- package/dist/assets/icons/WorkflowsIcon.svg +3 -0
- package/dist/assets/icons/WorkspacesIcon.svg +4 -0
- package/dist/assets/icons/WrenchIcon.svg +3 -0
- package/dist/assets/icons/WrenchSparkleIcon.svg +5 -0
- package/dist/assets/icons/XCircleFillIcon.svg +3 -0
- package/dist/assets/icons/XCircleIcon.svg +4 -0
- package/dist/assets/icons/ZAHorizontalIcon.svg +4 -0
- package/dist/assets/icons/ZAVerticalIcon.svg +4 -0
- package/dist/assets/icons/ZeroOpsIcon.svg +3 -0
- package/dist/assets/icons/ZeroOpsOutlineIcon.svg +3 -0
- package/dist/assets/icons/ZoomInIcon.svg +4 -0
- package/dist/assets/icons/ZoomMarqueeSelection.svg +8 -0
- package/dist/assets/icons/ZoomOutIcon.svg +4 -0
- package/dist/assets/icons/ZoomToFitIcon.svg +6 -0
- package/dist/design-system/Avatar/tokens.css +28 -0
- package/dist/design-system/Banner/tokens.css +0 -0
- package/dist/design-system/Breadcrumb/NativeBreadcrumb.css +43 -0
- package/dist/design-system/Breadcrumb/breadcrumb.less +8 -0
- package/dist/design-system/Breadcrumb/tokens.css +13 -0
- package/dist/design-system/Button/NativeButton.css +370 -0
- package/dist/design-system/Button/tokens.css +56 -0
- package/dist/design-system/Card/tokens.css +29 -0
- package/dist/design-system/Checkbox/NativeCheckbox.css +258 -0
- package/dist/design-system/Checkbox/tokens.css +37 -0
- package/dist/design-system/ContextMenu/tokens.css +18 -0
- package/dist/design-system/DialogCombobox/tokens.css +78 -0
- package/dist/design-system/Drawer/tokens.css +30 -0
- package/dist/design-system/DropdownMenu/tokens.css +23 -0
- package/dist/design-system/Empty/tokens.css +11 -0
- package/dist/design-system/Form/tokens.css +0 -0
- package/dist/design-system/FormMessage/tokens.css +0 -0
- package/dist/design-system/FormV2/tokens.css +0 -0
- package/dist/design-system/Header/tokens.css +10 -0
- package/dist/design-system/Hint/tokens.css +0 -0
- package/dist/design-system/HoverCard/tokens.css +26 -0
- package/dist/design-system/Icon/NativeIcon.css +97 -0
- package/dist/design-system/Icon/generator/CalendarRangeIcon.png +0 -0
- package/dist/design-system/Icon/tokens.css +12 -0
- package/dist/design-system/Input/NativeInput.css +111 -0
- package/dist/design-system/Input/group/NativeGroup.css +51 -0
- package/dist/design-system/Input/textarea/NativeTextArea.css +27 -0
- package/dist/design-system/Label/tokens.css +0 -0
- package/dist/design-system/LegacyNotification/notification.less +45 -0
- package/dist/design-system/Listbox/tokens.css +15 -0
- package/dist/design-system/Modal/tokens.css +42 -0
- package/dist/design-system/NavigationMenu/tokens.css +23 -0
- package/dist/design-system/Notification/tokens.css +35 -0
- package/dist/design-system/Overflow/tokens.css +11 -0
- package/dist/design-system/PageWrapper/tokens.css +14 -0
- package/dist/design-system/PillControl/tokens.css +73 -0
- package/dist/design-system/Popover/tokens.css +29 -0
- package/dist/design-system/PreviewCard/tokens.css +46 -0
- package/dist/design-system/Progress/tokens.css +17 -0
- package/dist/design-system/Radio/NativeRadio.css +323 -0
- package/dist/design-system/Radio/tokens.css +37 -0
- package/dist/design-system/ResourceStatusIndicator/tokens.css +5 -0
- package/dist/design-system/Select/tokens.css +0 -0
- package/dist/design-system/Sidebar/tokens.css +36 -0
- package/dist/design-system/Skeleton/tokens.css +0 -0
- package/dist/design-system/Slider/tokens.css +22 -0
- package/dist/design-system/SnackBar/tokens.css +37 -0
- package/dist/design-system/Spacer/tokens.css +11 -0
- package/dist/design-system/Spinner/tokens.css +0 -0
- package/dist/design-system/Stepper/tokens.css +0 -0
- package/dist/design-system/Switch/NativeSwitch.css +172 -0
- package/dist/design-system/Switch/switch.less +93 -0
- package/dist/design-system/Switch/tokens.css +38 -0
- package/dist/design-system/Tabs/tokens.css +52 -0
- package/dist/design-system/Tag/tokens.css +0 -0
- package/dist/design-system/ToggleButton/tokens.css +36 -0
- package/dist/design-system/Toolbar/tokens.css +23 -0
- package/dist/design-system/Tooltip/tokens.css +44 -0
- package/dist/design-system/_shared_/Menu/tokens.css +42 -0
- package/dist/design-system/general-overrides.less +33 -0
- package/dist/design-system/utils/debug.less +4 -0
- package/dist/design-tokens/family-tokens/actions-tokens.css +29 -0
- package/dist/design-tokens/family-tokens/cards-tokens.css +10 -0
- package/dist/design-tokens/family-tokens/inputs-tokens.css +43 -0
- package/dist/design-tokens/family-tokens/lists-tokens.css +26 -0
- package/dist/design-tokens/family-tokens/popups-tokens.css +13 -0
- package/dist/design-tokens/family-tokens/selection-toggles-tokens.css +34 -0
- package/dist/design-tokens/system-tokens/colors-dark-tokens.css +103 -0
- package/dist/design-tokens/system-tokens/colors-light-tokens.css +103 -0
- package/dist/design-tokens/system-tokens/density-tokens.css +28 -0
- package/dist/design-tokens/system-tokens/elevation-tokens.css +6 -0
- package/dist/design-tokens/system-tokens/focus-ring-tokens.css +5 -0
- package/dist/design-tokens/system-tokens/shape-tokens.css +8 -0
- package/dist/design-tokens/system-tokens/typography-tokens.css +24 -0
- package/dist/dubois-colors.less +2 -0
- package/dist/icon-metadata.json +8 -0
- package/dist/{index-CUzS-Vjx.js → index-CKurXbfF.js} +339 -204
- package/dist/index-CKurXbfF.js.map +1 -0
- package/dist/index-dark.css +578 -51
- package/dist/index-dark.mitigated.css +578 -51
- package/dist/index.css +819 -51
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mitigated.css +819 -51
- package/dist/mcp.mjs +23232 -0
- package/dist/mortar/action.css +93 -0
- package/dist/mortar/input.css +86 -0
- package/dist/mortar/layout.css +57 -0
- package/dist/mortar/typography.css +72 -0
- package/dist/patterns.js +2 -1
- package/dist/patterns.js.map +1 -1
- package/dist/rollup/noop.less +0 -0
- package/dist/test-utils/rtl.js +2 -2
- package/dist/test-utils/rtl.js.map +1 -1
- package/dist/tokens-groups/system-tokens.css +139 -0
- package/dist/tokens-groups/system-tokens.dark.css +126 -0
- package/dist-types/design-system/Breadcrumb/AntDBreadcrumbInternal.d.ts +5 -0
- package/dist-types/design-system/Breadcrumb/Breadcrumb.d.ts +25 -7
- package/dist-types/design-system/Breadcrumb/NativeBreadcrumb.d.ts +5 -0
- package/dist-types/design-system/Button/getBtnClassName.d.ts +1 -1
- package/dist-types/design-system/Card/Card.d.ts +1 -1
- package/dist-types/design-system/DatePicker/DatePicker.d.ts +1 -1
- package/dist-types/design-system/DatePicker/LegacyDatePicker.d.ts +1 -1
- package/dist-types/design-system/DesignSystemProvider/DesignSystemProvider.d.ts +11 -2
- package/dist-types/design-system/DesignSystemProvider/DesignTokenScopeWithEmotionTheme.d.ts +3 -1
- package/dist-types/design-system/DropdownMenu/HintColumn.d.ts +2 -3
- package/dist-types/design-system/Form/Form.d.ts +1 -1
- package/dist-types/design-system/FormV2/index.d.ts +1 -0
- package/dist-types/design-system/Grid/NativeCol.d.ts +1 -1
- package/dist-types/design-system/Grid/NativeRow.d.ts +3 -3
- package/dist-types/design-system/Grid/rowConstants.d.ts +1 -1
- package/dist-types/design-system/Grid/types.d.ts +2 -2
- package/dist-types/design-system/Header/Header.d.ts +1 -1
- package/dist-types/design-system/Icon/LegacyAntDIcon.d.ts +1 -1
- package/dist-types/design-system/Icon/__generated/icons/ChatNewTabIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/ChatSpinnerIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/index.d.ts +2 -0
- package/dist-types/design-system/Input/AntDInput.d.ts +26 -0
- package/dist-types/design-system/Input/Input.d.ts +7 -25
- package/dist-types/design-system/Input/NativeInput.d.ts +4 -0
- package/dist-types/design-system/Input/force-mode.d.ts +13 -0
- package/dist-types/design-system/Input/group/AntDGroup.d.ts +2 -0
- package/dist-types/design-system/Input/group/Group.d.ts +28 -0
- package/dist-types/design-system/Input/group/NativeGroup.d.ts +2 -0
- package/dist-types/design-system/Input/index-defs.d.ts +3 -3
- package/dist-types/design-system/Input/index.d.ts +7 -2
- package/dist-types/design-system/Input/input-container-styling.d.ts +13 -0
- package/dist-types/design-system/Input/input-focus.d.ts +8 -0
- package/dist-types/design-system/Input/input-props.d.ts +37 -0
- package/dist-types/design-system/Input/input-refs.d.ts +22 -0
- package/dist-types/design-system/Input/password/AntDPassword.d.ts +4 -0
- package/dist-types/design-system/Input/password/NativePassword.d.ts +4 -0
- package/dist-types/design-system/Input/password/Password.d.ts +15 -0
- package/dist-types/design-system/Input/testing/keyboard-input.d.ts +9 -0
- package/dist-types/design-system/Input/textarea/AntDTextArea.d.ts +4 -0
- package/dist-types/design-system/Input/textarea/NativeTextArea.d.ts +4 -0
- package/dist-types/design-system/Input/textarea/TextArea.d.ts +27 -0
- package/dist-types/design-system/Input/textarea/useTextAreaAutoSize.d.ts +22 -0
- package/dist-types/design-system/Input/useInputClearHandler.d.ts +20 -0
- package/dist-types/design-system/Input/useTextFieldAnalytics.d.ts +23 -0
- package/dist-types/design-system/Input/useTextFieldFocusHandler.d.ts +9 -0
- package/dist-types/design-system/Input/useTextFieldKeyHandlers.d.ts +31 -0
- package/dist-types/design-system/Skeleton/GenericSkeleton.d.ts +1 -2
- package/dist-types/design-system/SplitButton/SplitButton.d.ts +1 -1
- package/dist-types/design-system/TypeaheadComboboxV2/hooks/useComboboxState.d.ts +18 -1
- package/dist-types/design-system/TypeaheadComboboxV2/hooks/useComboboxStateProps.d.ts +2 -1
- package/dist-types/design-system/TypeaheadComboboxV2/providers/TypeaheadComboboxContext.d.ts +4 -0
- package/dist-types/design-system/utils/security/url-safety.d.ts +2 -5
- package/dist-types/maybe-mitigate-expensive-selectors/mitigateExpensiveSelectorsMonacoPkgrPlugins.d.ts +1 -1
- package/dist-types/mcp/server.d.ts +3 -0
- package/dist-types/test-utils/rtl/switch.d.ts +1 -1
- package/dist-types/test-utils/rtl/table.d.ts +1 -1
- package/dist-types/theme/_generated/ValidSemanticColors.d.ts +1 -0
- package/package.json +26 -6
- package/processes/process-runner.js +19 -0
- package/processes/spawn-process-runner.js +67 -0
- package/scaffold_tool/src/dependency-installer.js +52 -0
- package/scaffold_tool/src/file-system.js +2 -0
- package/scaffold_tool/src/get-progress-reporter.js +10 -0
- package/scaffold_tool/src/listr-progress-reporter.js +93 -0
- package/scaffold_tool/src/local-main.js +50 -0
- package/scaffold_tool/src/local-package-builder.js +101 -0
- package/scaffold_tool/src/main.js +47 -0
- package/scaffold_tool/src/node-file-system.js +33 -0
- package/scaffold_tool/src/package-manifest.js +40 -0
- package/scaffold_tool/src/progress-reporter.js +2 -0
- package/scaffold_tool/src/project-configurator.js +139 -0
- package/scaffold_tool/src/project-inspector.js +74 -0
- package/scaffold_tool/src/project-templates.js +191 -0
- package/scaffold_tool/src/readline-terminal.js +23 -0
- package/scaffold_tool/src/scaffold-config.js +18 -0
- package/scaffold_tool/src/scaffold-options.js +99 -0
- package/scaffold_tool/src/scaffold-theme.js +33 -0
- package/scaffold_tool/src/scaffold-tool.js +127 -0
- package/scaffold_tool/src/terminal-progress-reporter.js +39 -0
- package/scaffold_tool/src/terminal.js +2 -0
- package/scaffold_tool/src/theme-picker-templates.js +191 -0
- package/scaffold_tool/src/theme-templates.js +157 -0
- package/scaffold_tool/src/themes/base.js +143 -0
- package/scaffold_tool/src/themes/genie-one.js +36 -0
- package/scaffold_tool/src/themes/shadcn.js +135 -0
- package/dist/WizardStepContentWrapper-DfErft8z.js.map +0 -1
- package/dist/index-CUzS-Vjx.js.map +0 -1
- package/dist-types/design-system/Input/Group.d.ts +0 -2
- package/dist-types/design-system/Input/Password.d.ts +0 -3
- package/dist-types/design-system/Input/TextArea.d.ts +0 -4
- package/dist-types/design-system/Input/common.d.ts +0 -25
- package/setup.mjs +0 -639
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { p as primitiveColors, f as DesignSystemEventProvider, g as useDesignSystemTheme, h as DesignTokenScope, i as useDesignSystemContext, I as InfoFillIcon, C as CheckCircleFillIcon, j as WarningFillIcon, k as DangerFillIcon, l as DesignSystemEventProviderAnalyticsEventTypes, m as useDesignSystemEventComponentCallbacks, n as DesignSystemEventProviderComponentTypes, o as DesignSystemEventProviderComponentSubTypeMap, q as useNotifyOnFirstView, r as useStableUuidV4, B as Button$1, T as Typography, s as ChevronDownIcon, t as ChevronRightIcon, v as DesignSystemAntDConfigProvider, w as CloseSmallIcon, x as addDebugOutlineIfEnabled, y as Modal, z as getAnimationCss, A as token, S as ShapeTokens, E as getDarkModePortalStyles, G as useModalContext, R as Root$3, H as Trigger, J as InfoSmallIcon, K as Content, L as Arrow, N as Tooltip, O as SparkleDoubleIcon, P as getIconClassName, Q as
|
|
1
|
+
import { p as primitiveColors, f as DesignSystemEventProvider, g as useDesignSystemTheme, h as DesignTokenScope, i as useDesignSystemContext, I as InfoFillIcon, C as CheckCircleFillIcon, j as WarningFillIcon, k as DangerFillIcon, l as DesignSystemEventProviderAnalyticsEventTypes, m as useDesignSystemEventComponentCallbacks, n as DesignSystemEventProviderComponentTypes, o as DesignSystemEventProviderComponentSubTypeMap, q as useNotifyOnFirstView, r as useStableUuidV4, B as Button$1, T as Typography, s as ChevronDownIcon, t as ChevronRightIcon, v as DesignSystemAntDConfigProvider, w as CloseSmallIcon, x as addDebugOutlineIfEnabled, y as Modal, z as getAnimationCss, A as token, S as ShapeTokens, E as getDarkModePortalStyles, G as useModalContext, R as Root$3, H as Trigger, J as InfoSmallIcon, K as Content, L as Arrow, N as Tooltip, O as SparkleDoubleIcon, P as getIconClassName, Q as AntDBreadcrumbItem, U as AntDBreadcrumbSeparator, V as serverSideSafe, X as AntDBreadcrumbInternal, Y as LoadingState, Z as visuallyHidden, _ as genSkeletonAnimatedColor, $ as getOffsets, a0 as DesignSystemEventSuppressInteractionProviderContext, a1 as DesignSystemEventSuppressInteractionTrueContextValue, a2 as tableStyles, a3 as repeatingElementsStyles, a4 as tableClassNames, a5 as hideIconButtonRowStyles, a6 as hideIconButtonActionCellClassName, a7 as safex, a8 as TitleSkeleton, a9 as useDialogComboboxContext, aa as getFooterStyles, ab as useDialogComboboxOptionListContext, ac as generateUuidV4, ad as getContentOptions, ae as findHighlightedOption, af as highlightOption, ag as Input, ah as SearchIcon, ai as EmptyResults, aj as findClosestOptionSibling, ak as DialogComboboxOptionListCheckboxItem, al as DialogComboboxOptionListSelectItem, am as DialogComboboxOptionListContextProvider, an as LoadingSpinner, ao as DialogComboboxOptionList, ap as importantify, aq as useUniqueId, ar as TypeaheadComboboxContextProvider, as as useTypeaheadComboboxContext, at as useDuboisThemeClass, au as useDesignTokenOverrideStyles, av as getComboboxContentWrapperStyles, aw as ClearSelectionButton, ax as TypeaheadComboboxSelectedItem, ay as CountBadge, az as getValidationStateColor, aA as SectionHeader, aB as PlusIcon, aC as getComboboxOptionItemWrapperStyles, aD as useComboboxState$1, aE as useMultipleSelectionState$1, aF as Radio, aG as Checkbox, aH as DialogCombobox, aI as DialogComboboxTrigger, aJ as DialogComboboxContent, aK as Select, aL as SelectTrigger, aM as SelectContent, aN as SelectOption, aO as LegacySelect, aP as WarningIcon, aQ as CheckCircleIcon, aR as DangerIcon, aS as Hint, aT as Title$1, aU as CloseIcon, aV as RestoreAntDDefaultClsPrefix, aW as AccessibleContainer, aX as DU_BOIS_ENABLE_ANIMATION_CLASSNAME, aY as Tag, aZ as CircleOffIcon, a_ as CircleOutlineIcon, a$ as CircleIcon, b0 as getBtnClassName, b1 as SortAscendingIcon, b2 as SortDescendingIcon, b3 as SortUnsortedIcon, b4 as MinusSquareIcon, b5 as PlusSquareIcon, b6 as TypeaheadComboboxV2ContextProvider, b7 as useTypeaheadComboboxV2Context, b8 as useRadixModalContext, b9 as useIsomorphicLayoutEffect, ba as useScrollOptionIntoView, bb as InfoTooltip, bc as getInfoIconStyles, bd as HintRow, be as getCheckboxStyles, bf as getMenuItemStyles, bg as TypeaheadComboboxSelectedItem$1, bh as CountBadge$1, bi as TypeaheadComboboxMenuItem } from './WizardStepContentWrapper-D_OEwjUE.js';
|
|
2
2
|
import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
3
3
|
import { ThemeProvider, css, Global, createElement, ClassNames, keyframes } from '@emotion/react';
|
|
4
|
-
import { Alert as Alert$1, AutoComplete as AutoComplete$1,
|
|
4
|
+
import { Alert as Alert$1, AutoComplete as AutoComplete$1, DatePicker, Dropdown as Dropdown$1, Switch as Switch$1, Col as Col$1, Row as Row$1, Space as Space$1, notification, Popover, Skeleton, Menu as Menu$1, Steps as Steps$1 } from 'antd';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
|
-
import React__default, { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle, createContext, useContext,
|
|
6
|
+
import React__default, { useState, useRef, useEffect, useCallback, useMemo, forwardRef, isValidElement, Children, useImperativeHandle, createContext, useContext, Fragment as Fragment$1, useLayoutEffect, useSyncExternalStore, useReducer } from 'react';
|
|
7
7
|
import 'lodash/isEqual';
|
|
8
|
+
import { useBreadcrumbs } from '@react-aria/breadcrumbs';
|
|
8
9
|
import { useMergeRefs, useFloating, autoUpdate, offset, flip, shift } from '@floating-ui/react';
|
|
9
10
|
import isUndefined from 'lodash/isUndefined';
|
|
10
11
|
import 'lodash/uniqueId';
|
|
@@ -91,6 +92,7 @@ const consumerDarkColorList = {
|
|
|
91
92
|
borderAccessible: primitiveColors.grey300,
|
|
92
93
|
borderDanger: primitiveColors.red500,
|
|
93
94
|
borderWarning: primitiveColors.yellow500,
|
|
95
|
+
certified: primitiveColors.blue500,
|
|
94
96
|
codeBackground: primitiveColors.grey650,
|
|
95
97
|
composerBackground: primitiveColors.grey700,
|
|
96
98
|
iconTrending: primitiveColors.orange,
|
|
@@ -178,6 +180,7 @@ const consumerLightColorList = {
|
|
|
178
180
|
borderAccessible: primitiveColors.neutral500,
|
|
179
181
|
borderDanger: primitiveColors.red300,
|
|
180
182
|
borderWarning: primitiveColors.yellow300,
|
|
183
|
+
certified: primitiveColors.blue600,
|
|
181
184
|
codeBackground: 'rgba(82, 82, 82, 0.0800)',
|
|
182
185
|
composerBackground: primitiveColors.white,
|
|
183
186
|
iconTrending: primitiveColors.orange,
|
|
@@ -333,6 +336,8 @@ function createCancellableTask(fn, queue) {
|
|
|
333
336
|
const DANGEROUS_PROTOCOL_RE = /^\s*(javascript|data|vbscript|blob)\s*:/i;
|
|
334
337
|
// Browsers strip these characters during URL parsing per WHATWG URL Standard
|
|
335
338
|
const ASCII_TAB_OR_NEWLINE_RE = /[\t\n\r]/g;
|
|
339
|
+
// WHATWG URL treats a backslash as a path separator for http/https URLs
|
|
340
|
+
const BACKSLASH_RE = /\\/g;
|
|
336
341
|
/**
|
|
337
342
|
* Returns true if the URL does not use an executable protocol that could
|
|
338
343
|
* trigger DOM XSS (javascript:, data:, vbscript:, blob:). Allows http/https
|
|
@@ -347,11 +352,8 @@ const ASCII_TAB_OR_NEWLINE_RE = /[\t\n\r]/g;
|
|
|
347
352
|
}
|
|
348
353
|
/**
|
|
349
354
|
* Returns true if the URL is a safe relative path. Rejects anything containing
|
|
350
|
-
* protocol handlers (javascript:, data:, etc.), protocol-relative URLs (//
|
|
351
|
-
* or paths that don't start with '/'.
|
|
352
|
-
*
|
|
353
|
-
* This mirrors the validation in webapp LoginUtils.redirectWithHash() and the
|
|
354
|
-
* backend CreateSessionHandler.validateNextUrl().
|
|
355
|
+
* protocol handlers (javascript:, data:, etc.), protocol-relative URLs (// or
|
|
356
|
+
* its backslash equivalents), or paths that don't start with '/'.
|
|
355
357
|
*/ function isSafeRelativeUrl(url) {
|
|
356
358
|
if (!isSafeUrl(url)) {
|
|
357
359
|
return false;
|
|
@@ -359,12 +361,18 @@ const ASCII_TAB_OR_NEWLINE_RE = /[\t\n\r]/g;
|
|
|
359
361
|
// Normalize before structural checks so browsers' WHATWG URL parsing
|
|
360
362
|
// (which strips tab/newline/CR) can't bypass the '//' or '/' checks.
|
|
361
363
|
const normalized = url.replace(ASCII_TAB_OR_NEWLINE_RE, '');
|
|
364
|
+
// For special schemes (http/https) WHATWG URL treats '\' exactly like '/' when
|
|
365
|
+
// deciding where the authority starts, so '/\evil.com' resolves to host
|
|
366
|
+
// evil.com and escapes the origin: https://url.spec.whatwg.org/#relative-slash-state
|
|
367
|
+
// Fold them together for the authority check below. Folding only for that
|
|
368
|
+
// check keeps a backslash deeper in the path or in a query value acceptable.
|
|
369
|
+
const separatorNormalized = normalized.replace(BACKSLASH_RE, '/');
|
|
362
370
|
// Reject protocol-relative URLs (e.g. //evil.com) which browsers treat as
|
|
363
371
|
// absolute URLs. Only the leading '//' is dangerous — occurrences deeper in
|
|
364
372
|
// the URL (e.g. inside query params like redirect_uri=http://localhost:8080)
|
|
365
373
|
// are safe because the browser has already parsed the path portion.
|
|
366
374
|
// See SEC-15929 for the original vulnerability report.
|
|
367
|
-
if (
|
|
375
|
+
if (separatorNormalized.startsWith('//')) {
|
|
368
376
|
return false;
|
|
369
377
|
}
|
|
370
378
|
if (!normalized.startsWith('/')) {
|
|
@@ -421,7 +429,7 @@ function getColorDelta(colors, ambientColors) {
|
|
|
421
429
|
* @deprecated Migration-only bridge; do not use in new code. Prefer a plain `DesignTokenScope` — this
|
|
422
430
|
* wrapper exists solely to keep emotion-theme and design-token overrides consistent while a subtree
|
|
423
431
|
* still mixes the two theming systems.
|
|
424
|
-
*/ function DesignTokenScopeWithEmotionTheme({ theme, children }) {
|
|
432
|
+
*/ function DesignTokenScopeWithEmotionTheme({ theme, overrideTokens, children }) {
|
|
425
433
|
const { theme: ambientTheme } = useDesignSystemTheme();
|
|
426
434
|
const semanticColors = useMemo(()=>getColorDelta(theme.colors, ambientTheme.colors), [
|
|
427
435
|
theme.colors,
|
|
@@ -431,6 +439,7 @@ function getColorDelta(colors, ambientColors) {
|
|
|
431
439
|
theme: theme,
|
|
432
440
|
children: /*#__PURE__*/ jsx(DesignTokenScope, {
|
|
433
441
|
semanticColors: semanticColors,
|
|
442
|
+
overrideTokens: overrideTokens,
|
|
434
443
|
isDarkMode: theme.isDarkMode,
|
|
435
444
|
children: children
|
|
436
445
|
})
|
|
@@ -1411,61 +1420,109 @@ function AvatarGroup({ size = DEFAULT_SIZE, users }) {
|
|
|
1411
1420
|
});
|
|
1412
1421
|
}
|
|
1413
1422
|
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
const
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1423
|
+
const isBreadcrumbItem = (child)=>/*#__PURE__*/ isValidElement(child) && Boolean(child.type.__ANT_BREADCRUMB_ITEM);
|
|
1424
|
+
const isBreadcrumbSeparator = (child)=>/*#__PURE__*/ isValidElement(child) && Boolean(child.type.__ANT_BREADCRUMB_SEPARATOR);
|
|
1425
|
+
const flattenChildren = (children)=>{
|
|
1426
|
+
const flattened = [];
|
|
1427
|
+
Children.forEach(children, (child)=>{
|
|
1428
|
+
if (/*#__PURE__*/ isValidElement(child) && child.type === React__default.Fragment) {
|
|
1429
|
+
flattened.push(...flattenChildren(child.props.children));
|
|
1430
|
+
} else if (child !== null && child !== undefined && typeof child !== 'boolean') {
|
|
1431
|
+
flattened.push(child);
|
|
1432
|
+
}
|
|
1433
|
+
});
|
|
1434
|
+
return flattened;
|
|
1435
|
+
};
|
|
1436
|
+
const NativeBreadcrumbItem = /*#__PURE__*/ forwardRef(function NativeBreadcrumbItem(itemProps, ref) {
|
|
1437
|
+
const { href, onClick, className, children, ...props } = itemProps;
|
|
1438
|
+
const hasHref = Object.prototype.hasOwnProperty.call(itemProps, 'href');
|
|
1439
|
+
const contentProps = {
|
|
1440
|
+
...props,
|
|
1441
|
+
className,
|
|
1442
|
+
onClick
|
|
1443
|
+
};
|
|
1444
|
+
return /*#__PURE__*/ jsx("li", {
|
|
1445
|
+
ref: ref,
|
|
1446
|
+
className: "db-breadcrumb-item",
|
|
1447
|
+
"data-native-breadcrumb-item": "",
|
|
1448
|
+
children: hasHref ? // An href item owns its anchor; items without href keep consumer-provided content non-interactive.
|
|
1449
|
+
/*#__PURE__*/ jsx("a", {
|
|
1450
|
+
href: href,
|
|
1451
|
+
...contentProps,
|
|
1452
|
+
children: children
|
|
1453
|
+
}) : /*#__PURE__*/ jsx("span", {
|
|
1454
|
+
...contentProps,
|
|
1455
|
+
children: children
|
|
1456
|
+
})
|
|
1457
|
+
});
|
|
1458
|
+
});
|
|
1459
|
+
const NativeBreadcrumbSeparator = /*#__PURE__*/ forwardRef(function NativeBreadcrumbSeparator({ children, className, ...props }, ref) {
|
|
1460
|
+
return /*#__PURE__*/ jsx("li", {
|
|
1461
|
+
...props,
|
|
1462
|
+
ref: ref,
|
|
1463
|
+
"aria-hidden": true,
|
|
1464
|
+
className: classnames('db-breadcrumb-separator', className),
|
|
1465
|
+
"data-native-breadcrumb-separator": "",
|
|
1466
|
+
children: children
|
|
1467
|
+
});
|
|
1468
|
+
});
|
|
1469
|
+
const NativeBreadcrumb = /*#__PURE__*/ forwardRef(function NativeBreadcrumb({ includeTrailingCaret = true, separator, dangerouslySetAntdProps, useLegacyBreadcrumb: _useLegacyBreadcrumb, className, children, ...props }, ref) {
|
|
1470
|
+
// First-class `separator` wins; fall back to the (deprecated) AntD escape hatch so the one
|
|
1471
|
+
// consumer still passing `dangerouslySetAntdProps={{ separator }}` keeps parity until it migrates.
|
|
1472
|
+
const hasDeprecatedSeparator = dangerouslySetAntdProps !== undefined && Object.prototype.hasOwnProperty.call(dangerouslySetAntdProps, 'separator');
|
|
1473
|
+
const separatorNode = separator !== undefined ? separator : hasDeprecatedSeparator ? dangerouslySetAntdProps.separator : /*#__PURE__*/ jsx(ChevronRightIcon, {});
|
|
1474
|
+
const entries = flattenChildren(children).filter((child)=>!isBreadcrumbItem(child) || Boolean(child.props.children));
|
|
1475
|
+
const { navProps } = useBreadcrumbs({});
|
|
1476
|
+
return /*#__PURE__*/ jsx("nav", {
|
|
1477
|
+
...addDebugOutlineIfEnabled(),
|
|
1478
|
+
...props,
|
|
1479
|
+
...navProps,
|
|
1480
|
+
ref: ref,
|
|
1481
|
+
className: classnames('db-breadcrumb', className),
|
|
1482
|
+
"data-native-breadcrumb-root": "",
|
|
1483
|
+
children: /*#__PURE__*/ jsx("ol", {
|
|
1484
|
+
className: "db-breadcrumb-list",
|
|
1485
|
+
"data-native-breadcrumb-list": "",
|
|
1486
|
+
children: entries.map((entry, index)=>{
|
|
1487
|
+
if (isBreadcrumbSeparator(entry)) {
|
|
1488
|
+
return /*#__PURE__*/ jsx(NativeBreadcrumbSeparator, {
|
|
1489
|
+
...entry.props
|
|
1490
|
+
}, entry.key ?? index);
|
|
1441
1491
|
}
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
css: css(getAnimationCss(theme.options.enableAnimation), styles),
|
|
1458
|
-
children: [
|
|
1459
|
-
props.children,
|
|
1460
|
-
includeTrailingCaret && props.children && /*#__PURE__*/ jsx(Breadcrumb.Item, {
|
|
1461
|
-
children: " "
|
|
1462
|
-
})
|
|
1463
|
-
]
|
|
1492
|
+
const itemProps = isBreadcrumbItem(entry) ? entry.props : {
|
|
1493
|
+
children: entry
|
|
1494
|
+
};
|
|
1495
|
+
const isLast = index === entries.length - 1;
|
|
1496
|
+
const showSeparator = Boolean(separatorNode) && (!isLast || includeTrailingCaret);
|
|
1497
|
+
return /*#__PURE__*/ jsxs(React__default.Fragment, {
|
|
1498
|
+
children: [
|
|
1499
|
+
/*#__PURE__*/ jsx(NativeBreadcrumbItem, {
|
|
1500
|
+
...itemProps
|
|
1501
|
+
}),
|
|
1502
|
+
showSeparator && /*#__PURE__*/ jsx(NativeBreadcrumbSeparator, {
|
|
1503
|
+
children: separatorNode
|
|
1504
|
+
})
|
|
1505
|
+
]
|
|
1506
|
+
}, /*#__PURE__*/ isValidElement(entry) ? entry.key ?? index : index);
|
|
1464
1507
|
})
|
|
1508
|
+
})
|
|
1509
|
+
});
|
|
1510
|
+
});
|
|
1511
|
+
|
|
1512
|
+
const Breadcrumb = /* #__PURE__ */ (()=>{
|
|
1513
|
+
const Breadcrumb = (props)=>{
|
|
1514
|
+
const useNativeBreadcrumb = serverSideSafe('databricks.fe.designsystem.useNativeBreadcrumb', false);
|
|
1515
|
+
if (useNativeBreadcrumb && !props.useLegacyBreadcrumb) {
|
|
1516
|
+
return /*#__PURE__*/ jsx(NativeBreadcrumb, {
|
|
1517
|
+
...props
|
|
1518
|
+
});
|
|
1519
|
+
}
|
|
1520
|
+
return /*#__PURE__*/ jsx(AntDBreadcrumbInternal, {
|
|
1521
|
+
...props
|
|
1465
1522
|
});
|
|
1466
1523
|
};
|
|
1467
|
-
Breadcrumb.Item =
|
|
1468
|
-
Breadcrumb.Separator =
|
|
1524
|
+
Breadcrumb.Item = AntDBreadcrumbItem;
|
|
1525
|
+
Breadcrumb.Separator = AntDBreadcrumbSeparator;
|
|
1469
1526
|
return Breadcrumb;
|
|
1470
1527
|
})();
|
|
1471
1528
|
|
|
@@ -1850,50 +1907,46 @@ const LOADING_STATE_DEFAULT_WIDTH = 300;
|
|
|
1850
1907
|
function getStyles(args) {
|
|
1851
1908
|
const { theme, width, hasTopBar, hasBottomBar, isInteractive } = args;
|
|
1852
1909
|
const hoverOrFocusStyle = isInteractive ? {
|
|
1853
|
-
border: `1px solid
|
|
1854
|
-
boxShadow:
|
|
1910
|
+
border: `1px solid var(--db-card-border-hover)`,
|
|
1911
|
+
boxShadow: 'var(--db-card-shadow-hover)'
|
|
1855
1912
|
} : {};
|
|
1856
1913
|
return /*#__PURE__*/ css({
|
|
1857
|
-
color:
|
|
1858
|
-
backgroundColor:
|
|
1914
|
+
color: 'var(--db-card-text)',
|
|
1915
|
+
backgroundColor: 'var(--db-card-surface)',
|
|
1859
1916
|
position: 'relative',
|
|
1860
1917
|
display: 'flex',
|
|
1861
1918
|
justifyContent: 'flex-start',
|
|
1862
1919
|
flexDirection: 'column',
|
|
1863
|
-
paddingRight: hasTopBar || hasBottomBar ? 0 :
|
|
1864
|
-
paddingLeft: hasTopBar || hasBottomBar ? 0 :
|
|
1865
|
-
paddingTop: hasTopBar ? 0 :
|
|
1866
|
-
paddingBottom: hasBottomBar ? 0 :
|
|
1920
|
+
paddingRight: hasTopBar || hasBottomBar ? 0 : 'var(--db-card-padding)',
|
|
1921
|
+
paddingLeft: hasTopBar || hasBottomBar ? 0 : 'var(--db-card-padding)',
|
|
1922
|
+
paddingTop: hasTopBar ? 0 : 'var(--db-card-padding)',
|
|
1923
|
+
paddingBottom: hasBottomBar ? 0 : 'var(--db-card-padding)',
|
|
1867
1924
|
width: width ?? 'fit-content',
|
|
1868
|
-
borderRadius:
|
|
1869
|
-
borderColor:
|
|
1925
|
+
borderRadius: 'var(--db-card-border-radius)',
|
|
1926
|
+
borderColor: 'var(--db-card-border)',
|
|
1870
1927
|
borderWidth: '1px',
|
|
1871
1928
|
borderStyle: 'solid',
|
|
1872
1929
|
'&:hover': hoverOrFocusStyle,
|
|
1873
1930
|
'&:focus': hoverOrFocusStyle,
|
|
1874
1931
|
cursor: !isInteractive ? 'default' : 'pointer',
|
|
1875
|
-
boxShadow:
|
|
1932
|
+
boxShadow: 'var(--db-card-shadow)',
|
|
1876
1933
|
transition: `box-shadow 0.2s ease-in-out`,
|
|
1877
1934
|
textDecoration: 'none !important',
|
|
1878
1935
|
...getAnimationCss(theme.options.enableAnimation)
|
|
1879
1936
|
});
|
|
1880
1937
|
}
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
borderTopLeftRadius: token(ShapeTokens.INFO_CONTAINER_BORDER_RADIUS, theme.borders.borderRadiusSm),
|
|
1894
|
-
overflow: 'hidden'
|
|
1895
|
-
});
|
|
1896
|
-
}
|
|
1938
|
+
const bottomBarStyles = /*#__PURE__*/ css({
|
|
1939
|
+
marginTop: 'var(--db-card-bar-spacing-vertical)',
|
|
1940
|
+
borderBottomRightRadius: 'var(--db-card-bar-border-radius)',
|
|
1941
|
+
borderBottomLeftRadius: 'var(--db-card-bar-border-radius)',
|
|
1942
|
+
overflow: 'hidden'
|
|
1943
|
+
});
|
|
1944
|
+
const topBarStyles = /*#__PURE__*/ css({
|
|
1945
|
+
marginBottom: 'var(--db-card-bar-spacing-vertical)',
|
|
1946
|
+
borderTopRightRadius: 'var(--db-card-bar-border-radius)',
|
|
1947
|
+
borderTopLeftRadius: 'var(--db-card-bar-border-radius)',
|
|
1948
|
+
overflow: 'hidden'
|
|
1949
|
+
});
|
|
1897
1950
|
const Card = ({ children, customLoadingContent, dangerouslyAppendEmotionCSS, loading, loadingDescription, width, bottomBarContent, topBarContent, disableHover, onClick, href, navigateFn, anchorProps, componentId, analyticsEvents, shouldStartInteraction, ...dataAndAttributes })=>{
|
|
1898
1951
|
const emitOnView = safex('databricks.fe.observability.defaultComponentView.card', false);
|
|
1899
1952
|
const { theme } = useDesignSystemTheme();
|
|
@@ -1912,14 +1965,14 @@ const Card = ({ children, customLoadingContent, dangerouslyAppendEmotionCSS, loa
|
|
|
1912
1965
|
}));
|
|
1913
1966
|
const ref = React__default.useRef(null);
|
|
1914
1967
|
const bottomBar = bottomBarContent ? /*#__PURE__*/ jsx("div", {
|
|
1915
|
-
css:
|
|
1968
|
+
css: bottomBarStyles,
|
|
1916
1969
|
children: bottomBarContent
|
|
1917
1970
|
}) : null;
|
|
1918
1971
|
const topBar = topBarContent ? /*#__PURE__*/ jsx("div", {
|
|
1919
|
-
css:
|
|
1972
|
+
css: topBarStyles,
|
|
1920
1973
|
children: topBarContent
|
|
1921
1974
|
}) : null;
|
|
1922
|
-
const contentPadding = hasTopBar || hasBottomBar ?
|
|
1975
|
+
const contentPadding = hasTopBar || hasBottomBar ? 'var(--db-card-content-padding)' : '0px';
|
|
1923
1976
|
const memoizedAnalyticsEvents = useMemo(()=>analyticsEvents ?? (emitOnView ? [
|
|
1924
1977
|
DesignSystemEventProviderAnalyticsEventTypes.OnClick,
|
|
1925
1978
|
DesignSystemEventProviderAnalyticsEventTypes.OnView
|
|
@@ -1999,7 +2052,7 @@ const Card = ({ children, customLoadingContent, dangerouslyAppendEmotionCSS, loa
|
|
|
1999
2052
|
topBar,
|
|
2000
2053
|
/*#__PURE__*/ jsx("div", {
|
|
2001
2054
|
css: /*#__PURE__*/ css({
|
|
2002
|
-
padding: `0px ${contentPadding}
|
|
2055
|
+
padding: `0px ${contentPadding}`,
|
|
2003
2056
|
flexGrow: 1
|
|
2004
2057
|
}),
|
|
2005
2058
|
children: children
|
|
@@ -2262,7 +2315,7 @@ const YearPicker = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-co
|
|
|
2262
2315
|
});
|
|
2263
2316
|
/**
|
|
2264
2317
|
* `LegacyDatePicker` was added as a temporary solution pending an
|
|
2265
|
-
* official
|
|
2318
|
+
* official dbui replacement. Use with caution.
|
|
2266
2319
|
* @deprecated
|
|
2267
2320
|
*/ const LegacyDatePicker = /* #__PURE__ */ Object.assign(DuboisDatePicker, {
|
|
2268
2321
|
/**
|
|
@@ -2307,37 +2360,6 @@ const Separator$1 = (props)=>{
|
|
|
2307
2360
|
});
|
|
2308
2361
|
};
|
|
2309
2362
|
|
|
2310
|
-
const DialogComboboxAddButton = ({ children, ...restProps })=>{
|
|
2311
|
-
const { theme } = useDesignSystemTheme();
|
|
2312
|
-
const { isInsideDialogCombobox, componentId } = useDialogComboboxContext();
|
|
2313
|
-
if (!isInsideDialogCombobox) {
|
|
2314
|
-
throw new Error('`DialogComboboxAddButton` must be used within `DialogCombobox`');
|
|
2315
|
-
}
|
|
2316
|
-
return /*#__PURE__*/ jsx(Button$1, {
|
|
2317
|
-
// oxlint-disable-next-line @databricks/no-dynamic-property-value -- Contextual component ID validated through DialogCombobox component exempt:fc0846cb-b73b-401b-834e-75bb8b6d4c20
|
|
2318
|
-
componentId: `${componentId ? componentId : 'design_system.dialogcombobox'}.add_option`,
|
|
2319
|
-
...restProps,
|
|
2320
|
-
type: "tertiary",
|
|
2321
|
-
className: "combobox-footer-add-button",
|
|
2322
|
-
css: /*#__PURE__*/ css({
|
|
2323
|
-
...getComboboxOptionItemWrapperStyles(theme),
|
|
2324
|
-
.../*#__PURE__*/ css(importantify({
|
|
2325
|
-
width: '100%',
|
|
2326
|
-
padding: 0,
|
|
2327
|
-
display: 'flex',
|
|
2328
|
-
alignItems: 'center',
|
|
2329
|
-
borderRadius: 0,
|
|
2330
|
-
'&:focus': {
|
|
2331
|
-
background: theme.colors.actionTertiaryBackgroundHover,
|
|
2332
|
-
outline: 'none'
|
|
2333
|
-
}
|
|
2334
|
-
}))
|
|
2335
|
-
}),
|
|
2336
|
-
icon: /*#__PURE__*/ jsx(PlusIcon, {}),
|
|
2337
|
-
children: children
|
|
2338
|
-
});
|
|
2339
|
-
};
|
|
2340
|
-
|
|
2341
2363
|
const DialogComboboxFooter = ({ children, ...restProps })=>{
|
|
2342
2364
|
const { theme } = useDesignSystemTheme();
|
|
2343
2365
|
const { isInsideDialogCombobox } = useDialogComboboxContext();
|
|
@@ -2352,20 +2374,24 @@ const DialogComboboxFooter = ({ children, ...restProps })=>{
|
|
|
2352
2374
|
};
|
|
2353
2375
|
|
|
2354
2376
|
const DialogComboboxHintRow = ({ children })=>{
|
|
2355
|
-
const { theme } = useDesignSystemTheme();
|
|
2356
2377
|
return /*#__PURE__*/ jsx("div", {
|
|
2357
2378
|
css: {
|
|
2358
2379
|
minWidth: '100%',
|
|
2359
|
-
color:
|
|
2360
|
-
fontSize:
|
|
2380
|
+
color: 'var(--db-dialog-combobox-hint-text)',
|
|
2381
|
+
fontSize: 'var(--db-dialog-combobox-hint-font-size)',
|
|
2361
2382
|
'[data-disabled] &': {
|
|
2362
|
-
color:
|
|
2383
|
+
color: 'var(--db-dialog-combobox-hint-text-disabled)'
|
|
2363
2384
|
}
|
|
2364
2385
|
},
|
|
2365
2386
|
children: children
|
|
2366
2387
|
});
|
|
2367
2388
|
};
|
|
2368
2389
|
|
|
2390
|
+
const SEARCH_ROW_STYLES = /*#__PURE__*/ css({
|
|
2391
|
+
display: 'flex',
|
|
2392
|
+
flexDirection: 'row',
|
|
2393
|
+
gap: 'var(--db-dialog-combobox-search-gap)'
|
|
2394
|
+
});
|
|
2369
2395
|
const extractTextContent = (node)=>{
|
|
2370
2396
|
if (typeof node === 'string' || typeof node === 'number') {
|
|
2371
2397
|
return node.toString();
|
|
@@ -2490,21 +2516,17 @@ const DialogComboboxOptionListSearch = /*#__PURE__*/ forwardRef(// eslint-disabl
|
|
|
2490
2516
|
children: [
|
|
2491
2517
|
/*#__PURE__*/ jsx("div", {
|
|
2492
2518
|
ref: inputWrapperRef,
|
|
2493
|
-
css: {
|
|
2494
|
-
padding:
|
|
2519
|
+
css: /*#__PURE__*/ css({
|
|
2520
|
+
padding: 'var(--db-dialog-combobox-search-padding-vertical) var(--db-dialog-combobox-search-padding-horizontal) var(--db-dialog-combobox-search-padding-vertical)',
|
|
2495
2521
|
width: '100%',
|
|
2496
2522
|
boxSizing: 'border-box',
|
|
2497
2523
|
position: 'sticky',
|
|
2498
2524
|
top: 0,
|
|
2499
|
-
background:
|
|
2525
|
+
background: 'var(--db-dialog-combobox-search-surface)',
|
|
2500
2526
|
zIndex: theme.options.zIndexBase + 1
|
|
2501
|
-
},
|
|
2527
|
+
}),
|
|
2502
2528
|
children: /*#__PURE__*/ jsxs("div", {
|
|
2503
|
-
css:
|
|
2504
|
-
display: 'flex',
|
|
2505
|
-
flexDirection: 'row',
|
|
2506
|
-
gap: theme.spacing.sm
|
|
2507
|
-
},
|
|
2529
|
+
css: SEARCH_ROW_STYLES,
|
|
2508
2530
|
children: [
|
|
2509
2531
|
/*#__PURE__*/ jsx(Input, {
|
|
2510
2532
|
// oxlint-disable-next-line @databricks/no-dynamic-property-value -- Contextual component ID validated through DialogCombobox component exempt:a992c761-9f18-43b0-af9d-dc9ee629260a
|
|
@@ -2529,9 +2551,9 @@ const DialogComboboxOptionListSearch = /*#__PURE__*/ forwardRef(// eslint-disabl
|
|
|
2529
2551
|
}),
|
|
2530
2552
|
virtualized ? children : hasFilteredResults && childrenIsNotEmpty ? /*#__PURE__*/ jsx("div", {
|
|
2531
2553
|
"aria-live": "polite",
|
|
2532
|
-
css: {
|
|
2554
|
+
css: /*#__PURE__*/ css({
|
|
2533
2555
|
width: '100%'
|
|
2534
|
-
},
|
|
2556
|
+
}),
|
|
2535
2557
|
children: filteredChildren
|
|
2536
2558
|
}) : /*#__PURE__*/ jsx(EmptyResults, {
|
|
2537
2559
|
id: noResultId
|
|
@@ -2738,7 +2760,12 @@ const getLabelWrapperStyles = (classNamePrefix, theme)=>{
|
|
|
2738
2760
|
display: 'flex',
|
|
2739
2761
|
gap: theme.spacing.xs,
|
|
2740
2762
|
alignItems: 'center',
|
|
2741
|
-
|
|
2763
|
+
// `.db-input` is the native (non-AntD) Input family's plain/affix field class — it carries no
|
|
2764
|
+
// classNamePrefix, so it's listed alongside the prefixed AntD selectors rather than derived. Only
|
|
2765
|
+
// the plain field is matched: AntD's group and addonBefore variants wrap the field in a
|
|
2766
|
+
// `-input-group*` element that sits between the label and the input, so neither AntD nor the native
|
|
2767
|
+
// group/addon field is a direct sibling of the label, and neither gets the top margin.
|
|
2768
|
+
[`&& + .${classNamePrefix}-input, && + .${classNamePrefix}-input-affix-wrapper, && + .${classNamePrefix}-select, && + .${classNamePrefix}-selectv2, && + .${classNamePrefix}-dialogcombobox, && + .${classNamePrefix}-checkbox-group, && + .${classNamePrefix}-radio-group, && + .${classNamePrefix}-typeahead-combobox, && + .${classNamePrefix}-datepicker, && + .${classNamePrefix}-rangepicker, && + .db-input`]: {
|
|
2742
2769
|
marginTop: theme.spacing.sm
|
|
2743
2770
|
}
|
|
2744
2771
|
};
|
|
@@ -4416,10 +4443,10 @@ function RHFControlledMultiSelectTypeaheadCombobox({ name, control, rules, allIt
|
|
|
4416
4443
|
// pull the ~175KB chunk. Generics don't flow through React.lazy, so each public wrapper re-declares the
|
|
4417
4444
|
// generic signature and casts its props onto the (default-generic) lazy component; the lazy impl has the
|
|
4418
4445
|
// identical prop shape.
|
|
4419
|
-
const LazyRHFControlledTypeaheadComboboxV2 = /*#__PURE__*/ React__default.lazy(()=>import('./RHFControlledTypeaheadComboboxV2-
|
|
4446
|
+
const LazyRHFControlledTypeaheadComboboxV2 = /*#__PURE__*/ React__default.lazy(()=>import('./RHFControlledTypeaheadComboboxV2-B8Al2z1N.js').then((m)=>({
|
|
4420
4447
|
default: m.RHFControlledTypeaheadComboboxV2
|
|
4421
4448
|
})));
|
|
4422
|
-
const LazyRHFControlledMultiSelectTypeaheadComboboxV2 = /*#__PURE__*/ React__default.lazy(()=>import('./RHFControlledTypeaheadComboboxV2-
|
|
4449
|
+
const LazyRHFControlledMultiSelectTypeaheadComboboxV2 = /*#__PURE__*/ React__default.lazy(()=>import('./RHFControlledTypeaheadComboboxV2-B8Al2z1N.js').then((m)=>({
|
|
4423
4450
|
default: m.RHFControlledMultiSelectTypeaheadComboboxV2
|
|
4424
4451
|
})));
|
|
4425
4452
|
function RHFControlledTypeaheadComboboxV2(props) {
|
|
@@ -4609,7 +4636,7 @@ const Col = (props)=>/*#__PURE__*/ jsx(DesignSystemAntDConfigProvider, {
|
|
|
4609
4636
|
|
|
4610
4637
|
/**
|
|
4611
4638
|
* Default horizontal gutter (px) for `Row`. NOTE this diverges from AntD's own default of `0`:
|
|
4612
|
-
*
|
|
4639
|
+
* dbui has always defaulted `Row` to `8`, and ~75% of `<Row>` usages rely on it, so both the
|
|
4613
4640
|
* AntD-backed `Row` and the native `NativeRow` must apply it. Kept in its own module so both
|
|
4614
4641
|
* variants (and the flag-gated `Row`) share one source without an import cycle.
|
|
4615
4642
|
*/ const ROW_GUTTER_SIZE = 8;
|
|
@@ -4636,6 +4663,7 @@ const getHeaderStyles = (clsPrefix, theme)=>{
|
|
|
4636
4663
|
const breadcrumbClass = `.${clsPrefix}-breadcrumb`;
|
|
4637
4664
|
const styles = {
|
|
4638
4665
|
[breadcrumbClass]: {
|
|
4666
|
+
// No v2 line-height token. TODO(FEINF-6557): adopt one when it lands.
|
|
4639
4667
|
lineHeight: theme.typography.lineHeightBase
|
|
4640
4668
|
}
|
|
4641
4669
|
};
|
|
@@ -4653,17 +4681,18 @@ const Header = ({ breadcrumbs, title, titleAddOns, dangerouslyAppendEmotionCSS,
|
|
|
4653
4681
|
alignItems: 'flex-start',
|
|
4654
4682
|
justifyContent: 'space-between',
|
|
4655
4683
|
flexWrap: allowTitleWrap ? 'wrap' : 'nowrap',
|
|
4656
|
-
rowGap:
|
|
4684
|
+
rowGap: 'var(--db-header-title-row-gap)',
|
|
4657
4685
|
// Buttons have 32px height while Title level 2 elements used by this component have a height of 28px
|
|
4658
4686
|
// These paddings enforce height to be the same without buttons too
|
|
4659
4687
|
...buttonsArray.length === 0 && {
|
|
4660
|
-
paddingTop: breadcrumbs ? 0 :
|
|
4661
|
-
paddingBottom:
|
|
4688
|
+
paddingTop: breadcrumbs ? 0 : 'var(--db-header-title-padding-vertical)',
|
|
4689
|
+
paddingBottom: 'var(--db-header-title-padding-vertical)'
|
|
4662
4690
|
}
|
|
4663
4691
|
}),
|
|
4664
4692
|
breadcrumbWrapper: /*#__PURE__*/ css({
|
|
4693
|
+
// No v2 line-height token. TODO(FEINF-6557): adopt one when it lands.
|
|
4665
4694
|
lineHeight: theme.typography.lineHeightBase,
|
|
4666
|
-
marginBottom:
|
|
4695
|
+
marginBottom: 'var(--db-header-breadcrumb-margin-bottom)'
|
|
4667
4696
|
}),
|
|
4668
4697
|
title: /*#__PURE__*/ css({
|
|
4669
4698
|
marginTop: 0,
|
|
@@ -4677,18 +4706,18 @@ const Header = ({ breadcrumbs, title, titleAddOns, dangerouslyAppendEmotionCSS,
|
|
|
4677
4706
|
}),
|
|
4678
4707
|
// TODO: Look into a more emotion-idomatic way of doing this.
|
|
4679
4708
|
titleIfOtherElementsPresent: /*#__PURE__*/ css({
|
|
4680
|
-
marginTop:
|
|
4709
|
+
marginTop: 'var(--db-header-title-margin-top)'
|
|
4681
4710
|
}),
|
|
4682
4711
|
buttonContainer: /*#__PURE__*/ css({
|
|
4683
|
-
|
|
4712
|
+
marginInlineStart: 'var(--db-header-buttons-margin-start)'
|
|
4684
4713
|
}),
|
|
4685
4714
|
titleAddOnsWrapper: /*#__PURE__*/ css({
|
|
4686
4715
|
display: 'inline-flex',
|
|
4687
4716
|
verticalAlign: 'middle',
|
|
4688
4717
|
alignItems: 'center',
|
|
4689
4718
|
flexWrap: 'wrap',
|
|
4690
|
-
|
|
4691
|
-
gap:
|
|
4719
|
+
marginInlineStart: 'var(--db-header-title-add-ons-margin-start)',
|
|
4720
|
+
gap: 'var(--db-header-title-add-ons-gap)'
|
|
4692
4721
|
})
|
|
4693
4722
|
};
|
|
4694
4723
|
return /*#__PURE__*/ jsxs("div", {
|
|
@@ -4808,38 +4837,38 @@ const CONSTANTS = {
|
|
|
4808
4837
|
const { theme } = useDesignSystemTheme();
|
|
4809
4838
|
return {
|
|
4810
4839
|
content: {
|
|
4811
|
-
backgroundColor: backgroundColor ??
|
|
4812
|
-
color:
|
|
4840
|
+
backgroundColor: backgroundColor ?? 'var(--db-hover-card-surface)',
|
|
4841
|
+
color: 'var(--db-hover-card-text)',
|
|
4842
|
+
// No v2 line-height token. TODO(FEINF-6557): adopt one when it lands.
|
|
4813
4843
|
lineHeight: theme.typography.lineHeightBase,
|
|
4814
|
-
border:
|
|
4815
|
-
borderRadius:
|
|
4816
|
-
padding:
|
|
4817
|
-
boxShadow:
|
|
4844
|
+
border: '1px solid var(--db-hover-card-border)',
|
|
4845
|
+
borderRadius: 'var(--db-hover-card-border-radius)',
|
|
4846
|
+
padding: 'var(--db-hover-card-padding)',
|
|
4847
|
+
boxShadow: 'var(--db-hover-card-elevation)',
|
|
4818
4848
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4819
4849
|
// @ts-ignore [FEINF-3177] TODO: fix to work with React 18 types
|
|
4820
4850
|
userSelect: 'none',
|
|
4821
4851
|
zIndex: theme.options.zIndexBase + 30,
|
|
4822
4852
|
minWidth,
|
|
4823
4853
|
maxWidth,
|
|
4824
|
-
...getDarkModePortalStyles(theme),
|
|
4825
4854
|
a: importantify({
|
|
4826
|
-
color:
|
|
4855
|
+
color: 'var(--db-hover-card-link-text)',
|
|
4827
4856
|
cursor: 'default',
|
|
4828
4857
|
'&:hover, &:focus': {
|
|
4829
|
-
color:
|
|
4858
|
+
color: 'var(--db-hover-card-link-text-hover)'
|
|
4830
4859
|
}
|
|
4831
4860
|
}),
|
|
4832
4861
|
'&:focus-visible': {
|
|
4833
4862
|
outlineStyle: 'solid',
|
|
4834
4863
|
outlineWidth: '2px',
|
|
4835
4864
|
outlineOffset: '1px',
|
|
4836
|
-
outlineColor:
|
|
4865
|
+
outlineColor: 'var(--db-hover-card-focus-ring)'
|
|
4837
4866
|
}
|
|
4838
4867
|
},
|
|
4839
4868
|
arrow: {
|
|
4840
|
-
fill: backgroundColor ??
|
|
4869
|
+
fill: backgroundColor ?? 'var(--db-hover-card-surface)',
|
|
4841
4870
|
height: CONSTANTS.arrowHeight,
|
|
4842
|
-
stroke:
|
|
4871
|
+
stroke: 'var(--db-hover-card-border)',
|
|
4843
4872
|
strokeDashoffset: -30,
|
|
4844
4873
|
strokeDasharray: CONSTANTS.arrowBottomLength() + 2 * CONSTANTS.arrowSide(),
|
|
4845
4874
|
strokeWidth: CONSTANTS.arrowStrokeWidth(),
|
|
@@ -5390,13 +5419,12 @@ const Overflow = ({ children, noMargin = false, visibleItemsCount = 1, defaultOp
|
|
|
5390
5419
|
};
|
|
5391
5420
|
|
|
5392
5421
|
const PageWrapper = ({ children, ...props })=>{
|
|
5393
|
-
const { theme } = useDesignSystemTheme();
|
|
5394
5422
|
return /*#__PURE__*/ jsx("div", {
|
|
5395
5423
|
...addDebugOutlineIfEnabled(),
|
|
5396
5424
|
css: /*#__PURE__*/ css({
|
|
5397
|
-
paddingLeft:
|
|
5398
|
-
paddingRight:
|
|
5399
|
-
backgroundColor:
|
|
5425
|
+
paddingLeft: 'var(--db-page-wrapper-spacing-horizontal)',
|
|
5426
|
+
paddingRight: 'var(--db-page-wrapper-spacing-horizontal)',
|
|
5427
|
+
backgroundColor: 'var(--db-page-wrapper-surface)'
|
|
5400
5428
|
}),
|
|
5401
5429
|
...props,
|
|
5402
5430
|
children: children
|
|
@@ -5406,27 +5434,27 @@ const PageWrapper = ({ children, ...props })=>{
|
|
|
5406
5434
|
const STATUS_TO_ICON = {
|
|
5407
5435
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5408
5436
|
// @ts-ignore [FEINF-3177] TODO: fix to work with React 18 types
|
|
5409
|
-
online: ({
|
|
5437
|
+
online: ({ style, ...props })=>/*#__PURE__*/ jsx(CircleIcon, {
|
|
5410
5438
|
color: "success",
|
|
5411
5439
|
css: {
|
|
5412
5440
|
...style
|
|
5413
5441
|
},
|
|
5414
5442
|
...props
|
|
5415
5443
|
}),
|
|
5416
|
-
disconnected: ({
|
|
5444
|
+
disconnected: ({ style, ...props })=>// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5417
5445
|
// @ts-ignore [FEINF-3177] TODO: fix to work with React 18 types
|
|
5418
5446
|
/*#__PURE__*/ jsx(CircleOutlineIcon, {
|
|
5419
5447
|
css: {
|
|
5420
|
-
color:
|
|
5448
|
+
color: 'var(--db-resource-status-indicator-text)',
|
|
5421
5449
|
...style
|
|
5422
5450
|
},
|
|
5423
5451
|
...props
|
|
5424
5452
|
}),
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5453
|
+
offline: ({ style, ...props })=>// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5454
|
+
// @ts-ignore [FEINF-3177] TODO: fix to work with React 18 types
|
|
5455
|
+
/*#__PURE__*/ jsx(CircleOffIcon, {
|
|
5428
5456
|
css: {
|
|
5429
|
-
color:
|
|
5457
|
+
color: 'var(--db-resource-status-indicator-text)',
|
|
5430
5458
|
...style
|
|
5431
5459
|
},
|
|
5432
5460
|
...props
|
|
@@ -5434,10 +5462,8 @@ const STATUS_TO_ICON = {
|
|
|
5434
5462
|
};
|
|
5435
5463
|
const ResourceStatusIndicator = (props)=>{
|
|
5436
5464
|
const { status, style, ...restProps } = props;
|
|
5437
|
-
const { theme } = useDesignSystemTheme();
|
|
5438
5465
|
const StatusIcon = STATUS_TO_ICON[status];
|
|
5439
5466
|
return /*#__PURE__*/ jsx(StatusIcon, {
|
|
5440
|
-
theme: theme,
|
|
5441
5467
|
style: style,
|
|
5442
5468
|
...restProps
|
|
5443
5469
|
});
|
|
@@ -5613,17 +5639,17 @@ const getCloseButtonStyles = (clsPrefix)=>{
|
|
|
5613
5639
|
const notLink = `:not(${getBtnClassName(clsPrefix, '-link', '')})`;
|
|
5614
5640
|
const iconSelector = `${getIconClassName()}`;
|
|
5615
5641
|
return /*#__PURE__*/ css({
|
|
5616
|
-
marginLeft: 'var(--db-
|
|
5642
|
+
marginLeft: 'var(--db-snack-bar-close-button-spacing)',
|
|
5617
5643
|
flexShrink: 0,
|
|
5618
5644
|
// Override design system colors to use dark mode colors in both light and dark modes for proper contrast
|
|
5619
5645
|
[`&&:enabled${notLink} > ${iconSelector}`]: {
|
|
5620
|
-
color: 'var(--db-
|
|
5646
|
+
color: 'var(--db-snack-bar-close-icon) !important'
|
|
5621
5647
|
},
|
|
5622
5648
|
[`&&:enabled${notLink}:hover > ${iconSelector}`]: {
|
|
5623
|
-
color: 'var(--db-
|
|
5649
|
+
color: 'var(--db-snack-bar-close-icon-hover) !important'
|
|
5624
5650
|
},
|
|
5625
5651
|
[`&&:enabled${notLink}:active > ${iconSelector}`]: {
|
|
5626
|
-
color: 'var(--db-
|
|
5652
|
+
color: 'var(--db-snack-bar-close-icon-active) !important'
|
|
5627
5653
|
}
|
|
5628
5654
|
});
|
|
5629
5655
|
};
|
|
@@ -5649,11 +5675,11 @@ const getSnackBarRootStyle = (backgroundColor, textColor)=>{
|
|
|
5649
5675
|
position: 'relative',
|
|
5650
5676
|
display: 'flex',
|
|
5651
5677
|
alignItems: 'center',
|
|
5652
|
-
padding: 'var(--db-
|
|
5653
|
-
backgroundColor: backgroundColor || 'var(--db-
|
|
5654
|
-
color: textColor || 'var(--db-
|
|
5655
|
-
boxShadow: 'var(--db-
|
|
5656
|
-
borderRadius: 'var(--db-
|
|
5678
|
+
padding: 'var(--db-snack-bar-spacing-vertical) var(--db-snack-bar-spacing-horizontal)',
|
|
5679
|
+
backgroundColor: backgroundColor || 'var(--db-snack-bar-surface)',
|
|
5680
|
+
color: textColor || 'var(--db-snack-bar-text)',
|
|
5681
|
+
boxShadow: 'var(--db-snack-bar-shadow)',
|
|
5682
|
+
borderRadius: 'var(--db-snack-bar-border-radius)',
|
|
5657
5683
|
pointerEvents: 'auto',
|
|
5658
5684
|
maxWidth: 400
|
|
5659
5685
|
},
|
|
@@ -6788,7 +6814,7 @@ const TypeaheadComboboxRoot = /*#__PURE__*/ forwardRef(function TypeaheadCombobo
|
|
|
6788
6814
|
const buttonRef = useRef(null);
|
|
6789
6815
|
const triggerRef = useRef(null);
|
|
6790
6816
|
const footerRef = useRef(null);
|
|
6791
|
-
const { state, itemsByKey, getKeyForItem, itemToString, removeByKey, clearSelection, onInputBlur } = comboboxState;
|
|
6817
|
+
const { state, itemsByKey, getKeyForItem, itemToString, removeByKey, clearSelection, onInputBlur, onEnterKeypress } = comboboxState;
|
|
6792
6818
|
const { inputProps: ariaInputProps, listBoxProps, buttonProps } = useComboBox({
|
|
6793
6819
|
inputRef,
|
|
6794
6820
|
listBoxRef,
|
|
@@ -6842,6 +6868,7 @@ const TypeaheadComboboxRoot = /*#__PURE__*/ forwardRef(function TypeaheadCombobo
|
|
|
6842
6868
|
componentId: comboboxState.componentId,
|
|
6843
6869
|
multiSelect: comboboxState.multiSelect,
|
|
6844
6870
|
showAllOptionsOnOpen: comboboxState.showAllOptionsOnOpen,
|
|
6871
|
+
allowNewValue: comboboxState.allowNewValue,
|
|
6845
6872
|
isInsideTypeaheadCombobox: true,
|
|
6846
6873
|
comboBoxState: state,
|
|
6847
6874
|
inputProps,
|
|
@@ -6858,11 +6885,13 @@ const TypeaheadComboboxRoot = /*#__PURE__*/ forwardRef(function TypeaheadCombobo
|
|
|
6858
6885
|
getKeyForItem,
|
|
6859
6886
|
itemToString,
|
|
6860
6887
|
removeByKey,
|
|
6861
|
-
clearSelection
|
|
6888
|
+
clearSelection,
|
|
6889
|
+
onEnterKeypress
|
|
6862
6890
|
}), [
|
|
6863
6891
|
comboboxState.componentId,
|
|
6864
6892
|
comboboxState.multiSelect,
|
|
6865
6893
|
comboboxState.showAllOptionsOnOpen,
|
|
6894
|
+
comboboxState.allowNewValue,
|
|
6866
6895
|
state,
|
|
6867
6896
|
inputProps,
|
|
6868
6897
|
listBoxProps,
|
|
@@ -6872,7 +6901,8 @@ const TypeaheadComboboxRoot = /*#__PURE__*/ forwardRef(function TypeaheadCombobo
|
|
|
6872
6901
|
getKeyForItem,
|
|
6873
6902
|
itemToString,
|
|
6874
6903
|
removeByKey,
|
|
6875
|
-
clearSelection
|
|
6904
|
+
clearSelection,
|
|
6905
|
+
onEnterKeypress
|
|
6876
6906
|
]);
|
|
6877
6907
|
return /*#__PURE__*/ jsx(TypeaheadComboboxV2ContextProvider, {
|
|
6878
6908
|
value: contextValue,
|
|
@@ -7159,9 +7189,9 @@ const TypeaheadComboboxMenuContents = ({ loading, emptyText, width, minWidth = 2
|
|
|
7159
7189
|
],
|
|
7160
7190
|
style: {
|
|
7161
7191
|
...popoverProps.style,
|
|
7162
|
-
// react-aria hard-codes zIndex: 100000 on the overlay, which sits *above*
|
|
7192
|
+
// react-aria hard-codes zIndex: 100000 on the overlay, which sits *above* dbui
|
|
7163
7193
|
// tooltips (zIndexBase + 70) — burying both the multi-select tooltip and in-menu
|
|
7164
|
-
// InfoTooltips. Bring the menu into the
|
|
7194
|
+
// InfoTooltips. Bring the menu into the dbui band (matching Popover, zIndexBase + 30):
|
|
7165
7195
|
// still above modals (zIndexBase) and page content, but below tooltips as designed.
|
|
7166
7196
|
zIndex: theme.options.zIndexBase + 30,
|
|
7167
7197
|
...matchTriggerWidth && triggerWidth ? {
|
|
@@ -7376,7 +7406,7 @@ const TypeaheadComboboxInput = /*#__PURE__*/ forwardRef(function TypeaheadCombob
|
|
|
7376
7406
|
if (!ctx.isInsideTypeaheadCombobox) {
|
|
7377
7407
|
throw new Error('`TypeaheadComboboxInput` must be used within `TypeaheadComboboxRoot`');
|
|
7378
7408
|
}
|
|
7379
|
-
const { inputProps, inputRef, comboBoxState: state, setTriggerWidth, triggerRef, componentId, clearSelection, footerFocusable, footerRef, showAllOptionsOnOpen } = ctx;
|
|
7409
|
+
const { inputProps, inputRef, comboBoxState: state, setTriggerWidth, triggerRef, componentId, clearSelection, footerFocusable, footerRef, showAllOptionsOnOpen, allowNewValue, onEnterKeypress } = ctx;
|
|
7380
7410
|
const { theme } = useDesignSystemTheme();
|
|
7381
7411
|
// Measure trigger so `matchTriggerWidth` on Menu can size to it. Must be a passive effect, not
|
|
7382
7412
|
// useLayoutEffect: triggerRef points at the Root <div> (an ancestor), whose ref is attached
|
|
@@ -7415,16 +7445,39 @@ const TypeaheadComboboxInput = /*#__PURE__*/ forwardRef(function TypeaheadCombob
|
|
|
7415
7445
|
// must re-verify this — the "Tab moves focus to the footer, menu stays open" regression test in
|
|
7416
7446
|
// tests/TypeaheadComboboxV2FooterFocus.test.tsx guards it.
|
|
7417
7447
|
const handleKeyDownCapture = (e)=>{
|
|
7418
|
-
|
|
7448
|
+
// allowNewValue: commit the typed custom value to the form on Enter. Capture phase runs before
|
|
7449
|
+
// react-aria's own Enter handler, so focusedKey still reflects the pre-Enter highlight and
|
|
7450
|
+
// onEnterKeypress can skip when an option is highlighted (react-aria selects it) and only commit a
|
|
7451
|
+
// genuine custom value. When it does commit, suppress react-aria's bubble-phase Enter (same
|
|
7452
|
+
// mechanism as the footer Tab handler below) — otherwise it reverts the text and fires a null
|
|
7453
|
+
// selection that clobbers the commit. No-op unless allowNewValue (guarded in the hook).
|
|
7454
|
+
if (e.key === 'Enter' && onEnterKeypress()) {
|
|
7455
|
+
e.preventDefault();
|
|
7456
|
+
e.stopPropagation();
|
|
7419
7457
|
return;
|
|
7420
7458
|
}
|
|
7421
|
-
|
|
7422
|
-
|
|
7459
|
+
// Below here: forward-Tab with the menu open. Shift+Tab and a closed menu fall through to
|
|
7460
|
+
// react-aria unchanged.
|
|
7461
|
+
if (e.key !== 'Tab' || e.shiftKey || !state?.isOpen) {
|
|
7462
|
+
return;
|
|
7463
|
+
}
|
|
7464
|
+
if (footerFocusable && focusFirstFocusable(footerRef.current)) {
|
|
7423
7465
|
e.preventDefault();
|
|
7424
7466
|
e.stopPropagation();
|
|
7425
7467
|
// Clear virtual focus so the (now-unfocused) input doesn't keep a stale aria-activedescendant
|
|
7426
7468
|
// pointing at an option while real focus sits on the footer button.
|
|
7427
7469
|
state.selectionManager.setFocusedKey(null);
|
|
7470
|
+
return;
|
|
7471
|
+
}
|
|
7472
|
+
// allowNewValue: tabbing away after arrowing to an option must NOT commit that option — the typed
|
|
7473
|
+
// free text is the value. react-aria's bubble-phase Tab handler calls commit(), which selects the
|
|
7474
|
+
// highlighted option and re-syncs the input to it, leaving the field showing an option the form
|
|
7475
|
+
// never committed (the committed custom value stays, so the display diverges). Suppress that
|
|
7476
|
+
// commit (stopPropagation, same mechanism as the footer/Enter handlers) and drop the highlight,
|
|
7477
|
+
// but do not preventDefault — the native tab still moves focus, and onInputBlur commits the text.
|
|
7478
|
+
if (allowNewValue && state.selectionManager.focusedKey != null) {
|
|
7479
|
+
e.stopPropagation();
|
|
7480
|
+
state.selectionManager.setFocusedKey(null);
|
|
7428
7481
|
}
|
|
7429
7482
|
};
|
|
7430
7483
|
return /*#__PURE__*/ jsx("div", {
|
|
@@ -7567,7 +7620,7 @@ setSelectedItems: _setSelectedItems, getSelectedItemLabel, allowClear = true, sh
|
|
|
7567
7620
|
if (!ctx.isInsideTypeaheadCombobox) {
|
|
7568
7621
|
throw new Error('`TypeaheadComboboxMultiSelectInput` must be used within `TypeaheadComboboxRoot`');
|
|
7569
7622
|
}
|
|
7570
|
-
const { inputProps, inputRef, comboBoxState: state, setTriggerWidth, triggerRef, clearSelection, removeByKey, getKeyForItem, footerFocusable, footerRef } = ctx;
|
|
7623
|
+
const { inputProps, inputRef, comboBoxState: state, setTriggerWidth, triggerRef, clearSelection, removeByKey, getKeyForItem, footerFocusable, footerRef, onEnterKeypress } = ctx;
|
|
7571
7624
|
const { theme } = useDesignSystemTheme();
|
|
7572
7625
|
const containerRef = useRef(null);
|
|
7573
7626
|
const scrollContainerRef = useRef(null);
|
|
@@ -7629,6 +7682,14 @@ setSelectedItems: _setSelectedItems, getSelectedItemLabel, allowClear = true, sh
|
|
|
7629
7682
|
// Capture phase + stopPropagation suppresses that commit; preventDefault stops the native tab; and
|
|
7630
7683
|
// clearing the focused key drops the stale aria-activedescendant while focus sits on the footer.
|
|
7631
7684
|
const handleKeyDownCapture = (e)=>{
|
|
7685
|
+
// allowNewValue: commit the typed custom value as a new tag on Enter (mirrors the single-select
|
|
7686
|
+
// input). onEnterKeypress appends it + clears the input in the hook; suppress react-aria's bubble
|
|
7687
|
+
// Enter so it doesn't revert the text. No-op unless allowNewValue (guarded in the hook).
|
|
7688
|
+
if (e.key === 'Enter' && onEnterKeypress()) {
|
|
7689
|
+
e.preventDefault();
|
|
7690
|
+
e.stopPropagation();
|
|
7691
|
+
return;
|
|
7692
|
+
}
|
|
7632
7693
|
if (!footerFocusable || e.key !== 'Tab' || e.shiftKey || !state?.isOpen) {
|
|
7633
7694
|
return;
|
|
7634
7695
|
}
|
|
@@ -7969,7 +8030,7 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
7969
8030
|
* text, and the selection/input/open change handlers (including analytics + multi-select
|
|
7970
8031
|
* input-reset). Kept separate from `useComboboxState` so the wiring into react-aria is isolated
|
|
7971
8032
|
* from the selection helpers the hook derives afterward.
|
|
7972
|
-
*/ function useComboboxStateProps({ items, multiSelect, matcher, isItemDisabled, allowNewValue, initialInputValue, initialSelectedItem, formValue, formOnChange, onStateChange, onIsOpenChange, externalSelectedItems, externalSetSelectedItems, stateRef, onValueChange }) {
|
|
8033
|
+
*/ function useComboboxStateProps({ items, multiSelect, matcher, isItemDisabled, allowNewValue, allowsEmptyCollection, initialInputValue, initialSelectedItem, formValue, formOnChange, onStateChange, onIsOpenChange, externalSelectedItems, externalSetSelectedItems, stateRef, onValueChange }) {
|
|
7973
8034
|
const { itemToString, getKey, wrappedItems, itemsByKey, itemsByTextValue } = items;
|
|
7974
8035
|
// react-aria blocks selection of keys listed here (keyboard + pointer); the per-item `isDisabled`
|
|
7975
8036
|
// prop only styles the row.
|
|
@@ -8005,18 +8066,34 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8005
8066
|
const isControlledSingleSelect = !multiSelect && formOnChange !== undefined;
|
|
8006
8067
|
const controlledValue = useMemo(()=>{
|
|
8007
8068
|
if (externalSelectedItems !== null) return externalSelectedItems.map(getKey);
|
|
8069
|
+
// allowNewValue: a typed custom value has no collection key, so controlling react-aria's
|
|
8070
|
+
// selectedKey from formValue would resolve to a nonexistent item and blank the input. Leave the
|
|
8071
|
+
// selection uncontrolled — the input text (seeded by defaultInputValue, kept via allowsCustomValue)
|
|
8072
|
+
// is the source of truth, and the value reaches the form through the Enter/blur commit bridge.
|
|
8073
|
+
if (allowNewValue && !multiSelect) return undefined;
|
|
8008
8074
|
if (formValue !== undefined) return getKey(formValue);
|
|
8009
8075
|
return isControlledSingleSelect ? null : undefined;
|
|
8010
8076
|
}, [
|
|
8011
8077
|
externalSelectedItems,
|
|
8012
8078
|
formValue,
|
|
8013
8079
|
getKey,
|
|
8014
|
-
isControlledSingleSelect
|
|
8080
|
+
isControlledSingleSelect,
|
|
8081
|
+
allowNewValue,
|
|
8082
|
+
multiSelect
|
|
8015
8083
|
]);
|
|
8016
8084
|
const handleSelectionChange = useCallback((newValue)=>{
|
|
8017
8085
|
if (externalSetSelectedItems !== null) {
|
|
8018
8086
|
const keys = newValue ?? [];
|
|
8019
|
-
|
|
8087
|
+
// A typed custom value (allowNewValue) lives in the selection but has no collection entry, so
|
|
8088
|
+
// itemsByKey can't resolve it. react-aria reports the full key set on every change (custom keys
|
|
8089
|
+
// included), so without this fallback, picking a real option from the list rebuilds the
|
|
8090
|
+
// selection from the collection alone and drops every custom tag. Resolve unknown keys against
|
|
8091
|
+
// the items already selected instead.
|
|
8092
|
+
const currentByKey = allowNewValue ? new Map((externalSelectedItems ?? []).map((it)=>[
|
|
8093
|
+
getKey(it),
|
|
8094
|
+
it
|
|
8095
|
+
])) : null;
|
|
8096
|
+
const selected = keys.map((k)=>itemsByKey.get(k) ?? currentByKey?.get(k)).filter((x)=>x !== undefined);
|
|
8020
8097
|
externalSetSelectedItems(selected);
|
|
8021
8098
|
// Multi-select stays open after a pick; clear the search text so the menu resets to all items.
|
|
8022
8099
|
stateRef.current?.setInputValue('');
|
|
@@ -8039,7 +8116,10 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8039
8116
|
});
|
|
8040
8117
|
}, [
|
|
8041
8118
|
externalSetSelectedItems,
|
|
8119
|
+
externalSelectedItems,
|
|
8042
8120
|
itemsByKey,
|
|
8121
|
+
getKey,
|
|
8122
|
+
allowNewValue,
|
|
8043
8123
|
onValueChange,
|
|
8044
8124
|
itemToString,
|
|
8045
8125
|
formOnChange,
|
|
@@ -8065,7 +8145,14 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8065
8145
|
defaultItems: wrappedItems,
|
|
8066
8146
|
defaultFilter,
|
|
8067
8147
|
disabledKeys,
|
|
8068
|
-
|
|
8148
|
+
// Single-select only. react-aria has no multi-select concept of a "custom value": on blur with
|
|
8149
|
+
// leftover text (and multi's `selectedKey` is always null), its `commitValue` takes the
|
|
8150
|
+
// commitCustomValue path, which for `selectionMode: 'multiple'` fires `onSelectionChange([])` and
|
|
8151
|
+
// wipes every tag. Multi-select instead adds a typed value as a tag through `onEnterKeypress`, so it
|
|
8152
|
+
// does not need react-aria's custom-value handling — leaving it off makes blur clear the leftover
|
|
8153
|
+
// text and keep the tags.
|
|
8154
|
+
allowsCustomValue: allowNewValue && !multiSelect,
|
|
8155
|
+
allowsEmptyCollection,
|
|
8069
8156
|
defaultInputValue,
|
|
8070
8157
|
defaultSelectedKey: initialSelectedItem !== undefined ? getKey(initialSelectedItem) : undefined,
|
|
8071
8158
|
selectionMode: multiSelect ? 'multiple' : 'single',
|
|
@@ -8145,7 +8232,7 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8145
8232
|
}
|
|
8146
8233
|
|
|
8147
8234
|
/**
|
|
8148
|
-
* Backs the
|
|
8235
|
+
* Backs the dbui TypeaheadCombobox (react-aria variant) by wrapping react-aria's
|
|
8149
8236
|
* `useComboBoxState`. Handles single- and multi-select modes, item↔key mapping, filtering
|
|
8150
8237
|
* (default substring match or a custom `matcher`), selection helpers (`removeItem`,
|
|
8151
8238
|
* `clearSelection`, `isSelected`), form `onChange`/`onBlur` bridging, and analytics wiring.
|
|
@@ -8155,7 +8242,7 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8155
8242
|
// Narrow the discriminated union once for stable typed refs in deps/callbacks.
|
|
8156
8243
|
const externalSelectedItems = multiSelect && props.multiSelect ? props.selectedItems : null;
|
|
8157
8244
|
const externalSetSelectedItems = multiSelect && props.multiSelect ? props.setSelectedItems : null;
|
|
8158
|
-
const { allItems, itemToString: itemToStringProp, getKey: getKeyProp, matcher, isItemDisabled, componentId, analyticsEvents, valueHasNoPii, initialInputValue, initialSelectedItem, formValue, formOnChange, formOnBlur, onStateChange, onIsOpenChange, allowNewValue = false, showAllOptionsOnOpen = false } = props;
|
|
8245
|
+
const { allItems, itemToString: itemToStringProp, getKey: getKeyProp, matcher, isItemDisabled, componentId, analyticsEvents, valueHasNoPii, initialInputValue, initialSelectedItem, formValue, formOnChange, formOnBlur, onStateChange, onIsOpenChange, allowNewValue = false, showAllOptionsOnOpen = false, allowsEmptyCollection = false } = props;
|
|
8159
8246
|
// `preventUnsetOnBlur` is accepted for source compatibility with the original API but is a
|
|
8160
8247
|
// no-op: in react-aria, blur never clears the selection (only re-syncs input text), and
|
|
8161
8248
|
// closing on blur is required for non-modal popover dismissal.
|
|
@@ -8192,6 +8279,7 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8192
8279
|
matcher,
|
|
8193
8280
|
isItemDisabled,
|
|
8194
8281
|
allowNewValue,
|
|
8282
|
+
allowsEmptyCollection,
|
|
8195
8283
|
initialInputValue,
|
|
8196
8284
|
initialSelectedItem,
|
|
8197
8285
|
formValue,
|
|
@@ -8263,6 +8351,51 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8263
8351
|
formOnChange,
|
|
8264
8352
|
formOnBlur
|
|
8265
8353
|
]);
|
|
8354
|
+
// Append the typed custom value as a new multi-select tag (deduped by key), then clear the input so
|
|
8355
|
+
// the next value can be typed. Returns false when there is no controlled multi-select setter.
|
|
8356
|
+
const commitMultiSelectValue = useCallback((custom)=>{
|
|
8357
|
+
if (externalSetSelectedItems === null) return false;
|
|
8358
|
+
const current = externalSelectedItems ?? [];
|
|
8359
|
+
const customKey = getKey(custom);
|
|
8360
|
+
// Dedupe by key: re-entering an existing tag is a no-op.
|
|
8361
|
+
if (!current.some((it)=>getKey(it) === customKey)) {
|
|
8362
|
+
const next = [
|
|
8363
|
+
...current,
|
|
8364
|
+
custom
|
|
8365
|
+
];
|
|
8366
|
+
externalSetSelectedItems(next);
|
|
8367
|
+
eventContext.onValueChange?.(mapItemsToString$1(next, itemToString));
|
|
8368
|
+
}
|
|
8369
|
+
stateRef.current?.setInputValue('');
|
|
8370
|
+
return true;
|
|
8371
|
+
}, [
|
|
8372
|
+
externalSelectedItems,
|
|
8373
|
+
externalSetSelectedItems,
|
|
8374
|
+
getKey,
|
|
8375
|
+
itemToString,
|
|
8376
|
+
eventContext
|
|
8377
|
+
]);
|
|
8378
|
+
// Commit the typed custom value on Enter, matching the downshift variant (which committed on both
|
|
8379
|
+
// Enter and blur). react-aria keeps the text via `allowsCustomValue` but never routes a custom value
|
|
8380
|
+
// through `onSelectionChange`, so it never reaches the form/selection on its own. `Input` calls this
|
|
8381
|
+
// in the capture phase, so a highlighted option's key is still visible here — bail in that case so we
|
|
8382
|
+
// don't double-commit alongside react-aria's own Enter selection.
|
|
8383
|
+
const onEnterKeypress = useCallback(()=>{
|
|
8384
|
+
if (!allowNewValue) return false;
|
|
8385
|
+
if (stateRef.current?.selectionManager.focusedKey != null) return false;
|
|
8386
|
+
const raw = stateRef.current?.inputValue ?? '';
|
|
8387
|
+
if (!raw) return false;
|
|
8388
|
+
// allowNewValue implies T is a string, so the raw inputValue is a valid T.
|
|
8389
|
+
const custom = raw;
|
|
8390
|
+
if (multiSelect) return commitMultiSelectValue(custom);
|
|
8391
|
+
formOnChange?.(custom);
|
|
8392
|
+
return true;
|
|
8393
|
+
}, [
|
|
8394
|
+
allowNewValue,
|
|
8395
|
+
multiSelect,
|
|
8396
|
+
commitMultiSelectValue,
|
|
8397
|
+
formOnChange
|
|
8398
|
+
]);
|
|
8266
8399
|
// Unwrap state.collection (post-filter) back to T[] for consumers.
|
|
8267
8400
|
const filteredItems = useMemo(()=>{
|
|
8268
8401
|
const out = [];
|
|
@@ -8343,13 +8476,15 @@ const TypeaheadComboboxAddButton = /*#__PURE__*/ forwardRef(function TypeaheadCo
|
|
|
8343
8476
|
clearSelection,
|
|
8344
8477
|
isSelected,
|
|
8345
8478
|
onInputBlur,
|
|
8479
|
+
onEnterKeypress,
|
|
8346
8480
|
componentId,
|
|
8347
8481
|
analyticsEvents: memoizedAnalyticsEvents,
|
|
8348
8482
|
valueHasNoPii,
|
|
8349
8483
|
onView: eventContext.onView,
|
|
8350
8484
|
firstOnViewValue,
|
|
8351
8485
|
multiSelect,
|
|
8352
|
-
showAllOptionsOnOpen
|
|
8486
|
+
showAllOptionsOnOpen,
|
|
8487
|
+
allowNewValue
|
|
8353
8488
|
};
|
|
8354
8489
|
}
|
|
8355
8490
|
|
|
@@ -8517,5 +8652,5 @@ const DM_SANS_FONT_FAMILY = "'DM Sans', -apple-system, BlinkMacSystemFont, 'Sego
|
|
|
8517
8652
|
// code and other tabular text keep a fixed-width face if the web font fails to load.
|
|
8518
8653
|
const DM_MONO_FONT_FAMILY = "'DM Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace";
|
|
8519
8654
|
|
|
8520
|
-
export {
|
|
8521
|
-
//# sourceMappingURL=index-
|
|
8655
|
+
export { TableHeader as $, Alert as A, Breadcrumb as B, Card as C, DBAssistantAvatar as D, ResourceStatusIndicator as E, FormUI as F, GenericSkeleton as G, Header as H, InfoPopover as I, Row as J, SnackBar as K, LegacyDatePicker as L, Menu as M, Notification as N, Overflow as O, PageWrapper as P, Space as Q, RHFControlledComponents as R, Slider as S, TypeaheadComboboxRoot as T, Steps as U, Switch as V, Table as W, TableCell as X, TableContext as Y, TableFilterInput as Z, TableFilterLayout as _, TypeaheadComboboxMultiSelectInput as a, TableRow as a0, TableRowAction as a1, TableRowActionHeader as a2, TableRowContext as a3, TableRowMenuContainer as a4, TableRowMultiAction as a5, TableRowSelectCell as a6, TableSkeleton as a7, TableSkeletonRows as a8, Toolbar as a9, useFastDom as aA, useLegacyNotification as aB, useSnackBar as aC, useThemedStyles as aD, withNotifications as aE, TreeGrid as aa, TruncationTooltip as ab, TypeaheadComboboxAddButton$1 as ac, TypeaheadComboboxInput$1 as ad, TypeaheadComboboxMenu$1 as ae, TypeaheadComboboxMultiSelectInput$1 as af, TypeaheadComboboxRoot$1 as ag, TypeaheadComboboxSectionHeader$1 as ah, TypeaheadComboboxSeparator$1 as ai, TypeaheadComboboxToggleButton$1 as aj, index as ak, consumerDarkColorList as al, consumerLightColorList as am, flushFastdomForTesting as an, getGlobalResetStyles as ao, getGlobalStyles as ap, getSwitchWithLabelStyles as aq, isSafeRelativeUrl as ar, isSafeUrl as as, measure as at, sanitizeNextUrl as au, setupDesignSystemEventProviderForTesting as av, snackBarManager as aw, update as ax, useDefaultTreeGridState as ay, useDesignSystemFlags as az, TypeaheadComboboxMenu as b, TypeaheadComboboxInput as c, ApplyGlobalStyles as d, AssistantAvatar as e, AutoComplete as f, Avatar as g, AvatarGroup as h, Col as i, DM_MONO_FONT_FAMILY as j, DM_SANS_FONT_FAMILY as k, DesignTokenScopeWithEmotionTheme as l, DialogComboboxFooter as m, DialogComboboxHintRow as n, DialogComboboxOptionControlledList as o, DialogComboboxOptionListSearch as p, DialogComboboxSeparator as q, Dropdown as r, DuboisDatePicker as s, HoverCard as t, useComboboxState as u, LegacyPopover as v, LegacySkeleton as w, OverflowPopover as x, ParagraphSkeleton as y, ROW_GUTTER_SIZE as z };
|
|
8656
|
+
//# sourceMappingURL=index-CKurXbfF.js.map
|