@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectInspector = void 0;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const package_manifest_1 = require("./package-manifest");
|
|
6
|
+
const ENTRY_FILES_BY_PROJECT_TYPE = {
|
|
7
|
+
cra: ['src/index.tsx', 'src/index.jsx', 'src/index.js'],
|
|
8
|
+
next: ['app/layout.tsx', 'app/layout.jsx', 'app/layout.js', 'pages/_app.tsx', 'pages/_app.jsx', 'pages/_app.js'],
|
|
9
|
+
react: [
|
|
10
|
+
'src/main.tsx',
|
|
11
|
+
'src/index.tsx',
|
|
12
|
+
'src/main.jsx',
|
|
13
|
+
'src/index.jsx',
|
|
14
|
+
'src/main.ts',
|
|
15
|
+
'src/main.js',
|
|
16
|
+
'src/index.js',
|
|
17
|
+
],
|
|
18
|
+
vite: ['src/main.tsx', 'src/main.jsx', 'src/main.ts', 'src/main.js'],
|
|
19
|
+
};
|
|
20
|
+
class ProjectInspector {
|
|
21
|
+
fileSystem;
|
|
22
|
+
constructor(fileSystem) {
|
|
23
|
+
this.fileSystem = fileSystem;
|
|
24
|
+
}
|
|
25
|
+
async detectProject(projectDirectory) {
|
|
26
|
+
const manifest = await this.readManifest(projectDirectory);
|
|
27
|
+
if (!manifest) {
|
|
28
|
+
return { reason: 'no package.json found', type: 'unknown' };
|
|
29
|
+
}
|
|
30
|
+
const hasReact = ['react', 'next', 'react-scripts'].some((name) => manifest.dependencyNames.has(name));
|
|
31
|
+
if (!hasReact) {
|
|
32
|
+
return { reason: 'no React dependency detected', type: 'unknown' };
|
|
33
|
+
}
|
|
34
|
+
if (manifest.dependencyNames.has('next') ||
|
|
35
|
+
(await this.hasAnyPath(projectDirectory, ['next.config.js', 'next.config.ts', 'next.config.mjs']))) {
|
|
36
|
+
return { manifest, type: 'next' };
|
|
37
|
+
}
|
|
38
|
+
if (manifest.dependencyNames.has('vite') ||
|
|
39
|
+
(await this.hasAnyPath(projectDirectory, ['vite.config.ts', 'vite.config.js']))) {
|
|
40
|
+
return { manifest, type: 'vite' };
|
|
41
|
+
}
|
|
42
|
+
if (manifest.dependencyNames.has('react-scripts')) {
|
|
43
|
+
return { manifest, type: 'cra' };
|
|
44
|
+
}
|
|
45
|
+
return { manifest, type: 'react' };
|
|
46
|
+
}
|
|
47
|
+
async detectPackageManager(projectDirectory) {
|
|
48
|
+
const [hasPnpmLockfile, hasYarnLockfile] = await Promise.all([
|
|
49
|
+
this.fileSystem.pathExists((0, node_path_1.join)(projectDirectory, 'pnpm-lock.yaml')),
|
|
50
|
+
this.fileSystem.pathExists((0, node_path_1.join)(projectDirectory, 'yarn.lock')),
|
|
51
|
+
]);
|
|
52
|
+
if (hasPnpmLockfile) {
|
|
53
|
+
return 'pnpm';
|
|
54
|
+
}
|
|
55
|
+
return hasYarnLockfile ? 'yarn' : 'npm';
|
|
56
|
+
}
|
|
57
|
+
async findExistingEntryFile(projectDirectory, projectType) {
|
|
58
|
+
for (const relativePath of ENTRY_FILES_BY_PROJECT_TYPE[projectType]) {
|
|
59
|
+
const entryFilePath = (0, node_path_1.join)(projectDirectory, relativePath);
|
|
60
|
+
if (await this.fileSystem.pathExists(entryFilePath)) {
|
|
61
|
+
return entryFilePath;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
async readManifest(projectDirectory) {
|
|
67
|
+
return (0, package_manifest_1.readPackageManifest)(this.fileSystem, (0, node_path_1.join)(projectDirectory, 'package.json'));
|
|
68
|
+
}
|
|
69
|
+
async hasAnyPath(projectDirectory, relativePaths) {
|
|
70
|
+
const pathExistence = await Promise.all(relativePaths.map((relativePath) => this.fileSystem.pathExists((0, node_path_1.join)(projectDirectory, relativePath))));
|
|
71
|
+
return pathExistence.some(Boolean);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.ProjectInspector = ProjectInspector;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CSS_IMPORTS = exports.CSS_DECLARATION = exports.BODY_FONT_CSS = void 0;
|
|
4
|
+
exports.createViteMainFile = createViteMainFile;
|
|
5
|
+
exports.createViteAppFile = createViteAppFile;
|
|
6
|
+
exports.createViteConfigFile = createViteConfigFile;
|
|
7
|
+
exports.createNextAppFile = createNextAppFile;
|
|
8
|
+
exports.createNextIndexFile = createNextIndexFile;
|
|
9
|
+
exports.createNextDbuiAppFile = createNextDbuiAppFile;
|
|
10
|
+
exports.createEsmNextConfigFile = createEsmNextConfigFile;
|
|
11
|
+
exports.createCommonJsNextConfigFile = createCommonJsNextConfigFile;
|
|
12
|
+
exports.createVercelReadme = createVercelReadme;
|
|
13
|
+
exports.createManualSetupInstructions = createManualSetupInstructions;
|
|
14
|
+
exports.createCompletionMessage = createCompletionMessage;
|
|
15
|
+
const scaffold_theme_1 = require("./scaffold-theme");
|
|
16
|
+
exports.BODY_FONT_CSS = 'body {\n font-family: var(--db-font-family);\n}\n';
|
|
17
|
+
exports.CSS_DECLARATION = "declare module '*.css';\n";
|
|
18
|
+
exports.CSS_IMPORTS = [
|
|
19
|
+
"import '@databricks/design-system/index.css';",
|
|
20
|
+
"import '@databricks/design-system/fonts/dm-sans.css';",
|
|
21
|
+
];
|
|
22
|
+
function createViteMainFile() {
|
|
23
|
+
return [
|
|
24
|
+
...createCssImports(),
|
|
25
|
+
"import './dbui.css';",
|
|
26
|
+
'',
|
|
27
|
+
"import { StrictMode } from 'react';",
|
|
28
|
+
"import { createRoot } from 'react-dom/client';",
|
|
29
|
+
"import { AppThemeProvider } from './app-theme';",
|
|
30
|
+
"import { ThemePicker } from './theme-picker';",
|
|
31
|
+
"import { App } from './App';",
|
|
32
|
+
'',
|
|
33
|
+
"createRoot(document.getElementById('root')!).render(",
|
|
34
|
+
' <StrictMode>',
|
|
35
|
+
' <AppThemeProvider>',
|
|
36
|
+
' <App />',
|
|
37
|
+
' <ThemePicker />',
|
|
38
|
+
' </AppThemeProvider>',
|
|
39
|
+
' </StrictMode>,',
|
|
40
|
+
');',
|
|
41
|
+
'',
|
|
42
|
+
].join('\n');
|
|
43
|
+
}
|
|
44
|
+
function createViteAppFile() {
|
|
45
|
+
return ['// Build your app here.', 'export function App() {', ' return null;', '}', ''].join('\n');
|
|
46
|
+
}
|
|
47
|
+
function createViteConfigFile() {
|
|
48
|
+
return [
|
|
49
|
+
"import { defineConfig } from 'vite';",
|
|
50
|
+
"import react from '@vitejs/plugin-react';",
|
|
51
|
+
'',
|
|
52
|
+
'// jsxImportSource wires up Emotion so the `css` prop dbui components use works.',
|
|
53
|
+
'export default defineConfig({',
|
|
54
|
+
" plugins: [react({ jsxImportSource: '@emotion/react' })],",
|
|
55
|
+
'});',
|
|
56
|
+
'',
|
|
57
|
+
].join('\n');
|
|
58
|
+
}
|
|
59
|
+
function createNextAppFile() {
|
|
60
|
+
return [
|
|
61
|
+
...createCssImports(),
|
|
62
|
+
"import '../dbui.css';",
|
|
63
|
+
'',
|
|
64
|
+
"import type { AppProps } from 'next/app';",
|
|
65
|
+
'',
|
|
66
|
+
'export default function App({ Component, pageProps }: AppProps) {',
|
|
67
|
+
' return <Component {...pageProps} />;',
|
|
68
|
+
'}',
|
|
69
|
+
'',
|
|
70
|
+
].join('\n');
|
|
71
|
+
}
|
|
72
|
+
function createNextIndexFile() {
|
|
73
|
+
return [
|
|
74
|
+
"import dynamic from 'next/dynamic';",
|
|
75
|
+
'',
|
|
76
|
+
'// ssr:false renders dbui only on the client, keeping it out of the build-time prerender.',
|
|
77
|
+
"const DbuiApp = dynamic(() => import('../dbui-app'), { ssr: false });",
|
|
78
|
+
'',
|
|
79
|
+
'export default function Home() {',
|
|
80
|
+
' return <DbuiApp />;',
|
|
81
|
+
'}',
|
|
82
|
+
'',
|
|
83
|
+
].join('\n');
|
|
84
|
+
}
|
|
85
|
+
function createNextDbuiAppFile() {
|
|
86
|
+
return [
|
|
87
|
+
"import { Button, Typography, useDesignSystemTheme } from '@databricks/design-system';",
|
|
88
|
+
"import { AppThemeProvider } from './app-theme';",
|
|
89
|
+
"import { ThemePicker } from './theme-picker';",
|
|
90
|
+
'',
|
|
91
|
+
'function Sample() {',
|
|
92
|
+
' const { theme } = useDesignSystemTheme();',
|
|
93
|
+
' return (',
|
|
94
|
+
createSampleBody(),
|
|
95
|
+
' );',
|
|
96
|
+
'}',
|
|
97
|
+
'',
|
|
98
|
+
'export default function DbuiApp() {',
|
|
99
|
+
' return (',
|
|
100
|
+
' <AppThemeProvider>',
|
|
101
|
+
' <Sample />',
|
|
102
|
+
' <ThemePicker />',
|
|
103
|
+
' </AppThemeProvider>',
|
|
104
|
+
' );',
|
|
105
|
+
'}',
|
|
106
|
+
'',
|
|
107
|
+
].join('\n');
|
|
108
|
+
}
|
|
109
|
+
function createCssImports() {
|
|
110
|
+
return [
|
|
111
|
+
"import '@databricks/design-system/index.css';",
|
|
112
|
+
"import '@databricks/design-system/index-dark.css';",
|
|
113
|
+
...scaffold_theme_1.SCAFFOLD_THEME_FONT_IMPORTS.map((fontImport) => `import '${fontImport}';`),
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
function createEsmNextConfigFile() {
|
|
117
|
+
return createNextConfigFile('export default nextConfig;');
|
|
118
|
+
}
|
|
119
|
+
function createCommonJsNextConfigFile() {
|
|
120
|
+
return createNextConfigFile('module.exports = nextConfig;');
|
|
121
|
+
}
|
|
122
|
+
function createVercelReadme(projectName) {
|
|
123
|
+
return [
|
|
124
|
+
`# Deploying ${projectName} to Vercel`,
|
|
125
|
+
'',
|
|
126
|
+
'This is a client-only Next.js app, ready to host on Vercel with no extra configuration.',
|
|
127
|
+
'',
|
|
128
|
+
'1. Push this project to a Git repository (GitHub/GitLab/Bitbucket).',
|
|
129
|
+
'2. Import the repo at https://vercel.com/new — Vercel auto-detects Next.js.',
|
|
130
|
+
'',
|
|
131
|
+
'Or deploy straight from this directory with the Vercel CLI:',
|
|
132
|
+
'',
|
|
133
|
+
'```bash',
|
|
134
|
+
'npx vercel',
|
|
135
|
+
'```',
|
|
136
|
+
'',
|
|
137
|
+
].join('\n');
|
|
138
|
+
}
|
|
139
|
+
function createManualSetupInstructions(projectType) {
|
|
140
|
+
const providerInstruction = projectType === 'next'
|
|
141
|
+
? 'dbui is client-only: put DesignSystemProvider + ApplyGlobalStyles in a "use client" component and render it from your entry — app/layout.tsx (App Router) or pages/_app.tsx (Pages Router). For App Router, load it via next/dynamic with { ssr: false }.'
|
|
142
|
+
: 'Wrap your root component in <DesignSystemProvider><ApplyGlobalStyles /> … </DesignSystemProvider>.';
|
|
143
|
+
return [
|
|
144
|
+
'',
|
|
145
|
+
'Finish setup:',
|
|
146
|
+
' 1. Import the styles at your entry point:',
|
|
147
|
+
...exports.CSS_IMPORTS.map((line) => ` ${line}`),
|
|
148
|
+
` 2. ${providerInstruction}`,
|
|
149
|
+
` 3. Set the body font (ApplyGlobalStyles doesn't): body { font-family: var(--db-font-family); }`,
|
|
150
|
+
` 4. Configure the Emotion JSX runtime (jsxImportSource: '@emotion/react') so the css prop works.`,
|
|
151
|
+
'',
|
|
152
|
+
'See the package AGENTS.md for the full setup reference.',
|
|
153
|
+
'',
|
|
154
|
+
].join('\n');
|
|
155
|
+
}
|
|
156
|
+
function createCompletionMessage(projectName, packageManager, projectType) {
|
|
157
|
+
const runDevelopmentServer = packageManager === 'npm' ? 'npm run dev' : `${packageManager} dev`;
|
|
158
|
+
return [
|
|
159
|
+
'',
|
|
160
|
+
`✓ ${projectName} is ready with @databricks/design-system.`,
|
|
161
|
+
'Use the Theme button in the app to switch themes and appearance. See THEME.md to customize it.',
|
|
162
|
+
'',
|
|
163
|
+
'Next steps:',
|
|
164
|
+
` cd ${projectName}`,
|
|
165
|
+
` ${runDevelopmentServer}`,
|
|
166
|
+
...(projectType === 'next' ? ['', 'To host it: see DEPLOY.md (Vercel).'] : []),
|
|
167
|
+
'',
|
|
168
|
+
].join('\n');
|
|
169
|
+
}
|
|
170
|
+
function createSampleBody() {
|
|
171
|
+
return [
|
|
172
|
+
' <div style={{ padding: theme.spacing.lg }}>',
|
|
173
|
+
' <Typography.Title>dbui is set up</Typography.Title>',
|
|
174
|
+
' <Button componentId="starter.get_started_button" type="primary">',
|
|
175
|
+
' Get started',
|
|
176
|
+
' </Button>',
|
|
177
|
+
' </div>',
|
|
178
|
+
].join('\n');
|
|
179
|
+
}
|
|
180
|
+
function createNextConfigFile(exportStatement) {
|
|
181
|
+
return [
|
|
182
|
+
"/** @type {import('next').NextConfig} */",
|
|
183
|
+
'const nextConfig = {',
|
|
184
|
+
' // Enables the Emotion `css` prop that dbui components rely on.',
|
|
185
|
+
' compiler: { emotion: true },',
|
|
186
|
+
'};',
|
|
187
|
+
'',
|
|
188
|
+
exportStatement,
|
|
189
|
+
'',
|
|
190
|
+
].join('\n');
|
|
191
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadlineTerminal = void 0;
|
|
4
|
+
const node_readline_1 = require("node:readline");
|
|
5
|
+
class ReadlineTerminal {
|
|
6
|
+
isInteractive = Boolean(process.stdin.isTTY);
|
|
7
|
+
lineReader = (0, node_readline_1.createInterface)({ input: process.stdin, output: process.stdout });
|
|
8
|
+
ask(question) {
|
|
9
|
+
return new Promise((resolve) => {
|
|
10
|
+
this.lineReader.question(question, (answer) => resolve(answer.trim()));
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
close() {
|
|
14
|
+
this.lineReader.close();
|
|
15
|
+
}
|
|
16
|
+
write(message) {
|
|
17
|
+
process.stdout.write(message);
|
|
18
|
+
}
|
|
19
|
+
writeError(message) {
|
|
20
|
+
process.stderr.write(message);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ReadlineTerminal = ReadlineTerminal;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getScaffoldToolConfig = getScaffoldToolConfig;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
function getScaffoldToolConfig(packageDirectory) {
|
|
6
|
+
return {
|
|
7
|
+
agentInstructionsPath: (0, node_path_1.join)(packageDirectory, 'scaffold-agents.md'),
|
|
8
|
+
nextScaffolder: 'create-next-app@14.2.35',
|
|
9
|
+
packageManifestPath: (0, node_path_1.join)(packageDirectory, 'package.json'),
|
|
10
|
+
packageName: '@databricks/design-system',
|
|
11
|
+
peerRanges: {
|
|
12
|
+
'@emotion/react': '^11.11.3',
|
|
13
|
+
moment: '^2.25.3',
|
|
14
|
+
},
|
|
15
|
+
react18Pins: ['react@^18', 'react-dom@^18', '@types/react@^18', '@types/react-dom@^18'],
|
|
16
|
+
viteScaffolder: 'create-vite@9.2.1',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseScaffoldArguments = parseScaffoldArguments;
|
|
4
|
+
exports.getScaffoldRequest = getScaffoldRequest;
|
|
5
|
+
const MODE_BY_PROMPT_ANSWER = {
|
|
6
|
+
'1': 'vite',
|
|
7
|
+
'2': 'next',
|
|
8
|
+
'3': 'existing',
|
|
9
|
+
};
|
|
10
|
+
const THEME_BY_PROMPT_ANSWER = {
|
|
11
|
+
'': 'dubois',
|
|
12
|
+
'1': 'dubois',
|
|
13
|
+
'2': 'base',
|
|
14
|
+
'3': 'genie-one',
|
|
15
|
+
'4': 'shadcn',
|
|
16
|
+
};
|
|
17
|
+
function parseScaffoldArguments(args) {
|
|
18
|
+
let mode;
|
|
19
|
+
let projectName;
|
|
20
|
+
let theme;
|
|
21
|
+
for (let index = 0; index < args.length; index++) {
|
|
22
|
+
const argument = args[index];
|
|
23
|
+
if (argument === '--mode') {
|
|
24
|
+
mode = args[++index];
|
|
25
|
+
}
|
|
26
|
+
else if (argument === '--name') {
|
|
27
|
+
projectName = args[++index];
|
|
28
|
+
}
|
|
29
|
+
else if (argument === '--theme') {
|
|
30
|
+
theme = args[++index];
|
|
31
|
+
if (!theme || theme.startsWith('-')) {
|
|
32
|
+
throw new Error('--theme requires dubois, base, genie-one, or shadcn.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (argument.startsWith('--theme=')) {
|
|
36
|
+
theme = argument.slice('--theme='.length);
|
|
37
|
+
}
|
|
38
|
+
else if (argument && !argument.startsWith('-') && !projectName) {
|
|
39
|
+
projectName = argument;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { mode, projectName, theme };
|
|
43
|
+
}
|
|
44
|
+
async function getScaffoldRequest(args, terminal) {
|
|
45
|
+
const parsedArguments = parseScaffoldArguments(args);
|
|
46
|
+
const mode = parsedArguments.mode ?? (await promptForMode(terminal));
|
|
47
|
+
if (!isScaffoldMode(mode)) {
|
|
48
|
+
throw new Error('Please choose 1, 2, or 3.');
|
|
49
|
+
}
|
|
50
|
+
if (mode === 'existing') {
|
|
51
|
+
if (parsedArguments.theme !== undefined) {
|
|
52
|
+
throw new Error('--theme is supported when scaffolding a new Vite or Next.js project.');
|
|
53
|
+
}
|
|
54
|
+
return { mode };
|
|
55
|
+
}
|
|
56
|
+
const projectName = parsedArguments.projectName ?? (await terminal.ask('\nProject name (new directory): '));
|
|
57
|
+
if (!projectName) {
|
|
58
|
+
throw new Error('A project name is required.');
|
|
59
|
+
}
|
|
60
|
+
const theme = parsedArguments.theme ?? (await promptForTheme(terminal));
|
|
61
|
+
if (!isScaffoldTheme(theme)) {
|
|
62
|
+
throw new Error('Please choose 1, 2, 3, or 4, or use --theme dubois, base, genie-one, or shadcn.');
|
|
63
|
+
}
|
|
64
|
+
return { mode, projectName, theme };
|
|
65
|
+
}
|
|
66
|
+
async function promptForTheme(terminal) {
|
|
67
|
+
if (!terminal.isInteractive) {
|
|
68
|
+
return 'dubois';
|
|
69
|
+
}
|
|
70
|
+
terminal.write([
|
|
71
|
+
'\nWhich theme would you like to use?',
|
|
72
|
+
'',
|
|
73
|
+
' 1) Original "Du Bois" theme (default)',
|
|
74
|
+
' 2) dbui "Base" theme',
|
|
75
|
+
' 3) Genie One',
|
|
76
|
+
' 4) Make it look like shadcn',
|
|
77
|
+
'',
|
|
78
|
+
].join('\n'));
|
|
79
|
+
const answer = await terminal.ask('Enter 1, 2, 3, or 4 [1]: ');
|
|
80
|
+
return THEME_BY_PROMPT_ANSWER[answer.trim()];
|
|
81
|
+
}
|
|
82
|
+
async function promptForMode(terminal) {
|
|
83
|
+
terminal.write([
|
|
84
|
+
'What would you like to do?',
|
|
85
|
+
'',
|
|
86
|
+
' 1) Scaffold a new Vite project (no hosting)',
|
|
87
|
+
' 2) Scaffold a new Next.js project (Vercel hosting)',
|
|
88
|
+
' 3) Add @databricks/design-system to an existing project',
|
|
89
|
+
'',
|
|
90
|
+
].join('\n'));
|
|
91
|
+
const answer = await terminal.ask('Enter 1, 2, or 3: ');
|
|
92
|
+
return MODE_BY_PROMPT_ANSWER[answer];
|
|
93
|
+
}
|
|
94
|
+
function isScaffoldMode(value) {
|
|
95
|
+
return value === 'existing' || value === 'next' || value === 'vite';
|
|
96
|
+
}
|
|
97
|
+
function isScaffoldTheme(value) {
|
|
98
|
+
return value === 'dubois' || value === 'base' || value === 'genie-one' || value === 'shadcn';
|
|
99
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SCAFFOLD_THEME_FONT_IMPORTS = exports.SCAFFOLD_THEME_PACKAGES = exports.CUSTOM_SCAFFOLD_THEMES = void 0;
|
|
4
|
+
exports.getScaffoldTheme = getScaffoldTheme;
|
|
5
|
+
const base_1 = require("./themes/base");
|
|
6
|
+
const genie_one_1 = require("./themes/genie-one");
|
|
7
|
+
const shadcn_1 = require("./themes/shadcn");
|
|
8
|
+
exports.CUSTOM_SCAFFOLD_THEMES = {
|
|
9
|
+
base: base_1.BASE_THEME,
|
|
10
|
+
'genie-one': genie_one_1.GENIE_ONE_THEME,
|
|
11
|
+
shadcn: shadcn_1.SHADCN_THEME,
|
|
12
|
+
};
|
|
13
|
+
exports.SCAFFOLD_THEME_PACKAGES = [
|
|
14
|
+
...new Set(Object.values(exports.CUSTOM_SCAFFOLD_THEMES).flatMap((theme) => theme.packages)),
|
|
15
|
+
];
|
|
16
|
+
exports.SCAFFOLD_THEME_FONT_IMPORTS = [
|
|
17
|
+
...new Set([
|
|
18
|
+
'@databricks/design-system/fonts/dm-sans.css',
|
|
19
|
+
...Object.values(exports.CUSTOM_SCAFFOLD_THEMES).flatMap((theme) => theme.fontImports),
|
|
20
|
+
]),
|
|
21
|
+
];
|
|
22
|
+
function getScaffoldTheme(theme) {
|
|
23
|
+
switch (theme) {
|
|
24
|
+
case 'dubois':
|
|
25
|
+
return undefined;
|
|
26
|
+
case 'base':
|
|
27
|
+
return base_1.BASE_THEME;
|
|
28
|
+
case 'genie-one':
|
|
29
|
+
return genie_one_1.GENIE_ONE_THEME;
|
|
30
|
+
case 'shadcn':
|
|
31
|
+
return shadcn_1.SHADCN_THEME;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScaffoldTool = void 0;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const project_templates_1 = require("./project-templates");
|
|
6
|
+
const scaffold_options_1 = require("./scaffold-options");
|
|
7
|
+
const scaffold_theme_1 = require("./scaffold-theme");
|
|
8
|
+
const process_runner_1 = require("../../processes/process-runner");
|
|
9
|
+
class ScaffoldTool {
|
|
10
|
+
config;
|
|
11
|
+
dependencyInstaller;
|
|
12
|
+
fileSystem;
|
|
13
|
+
processRunner;
|
|
14
|
+
progress;
|
|
15
|
+
projectConfigurator;
|
|
16
|
+
projectInspector;
|
|
17
|
+
terminal;
|
|
18
|
+
constructor(dependencies) {
|
|
19
|
+
this.config = dependencies.config;
|
|
20
|
+
this.dependencyInstaller = dependencies.dependencyInstaller;
|
|
21
|
+
this.fileSystem = dependencies.fileSystem;
|
|
22
|
+
this.processRunner = dependencies.processRunner;
|
|
23
|
+
this.progress = dependencies.progress;
|
|
24
|
+
this.projectConfigurator = dependencies.projectConfigurator;
|
|
25
|
+
this.projectInspector = dependencies.projectInspector;
|
|
26
|
+
this.terminal = dependencies.terminal;
|
|
27
|
+
}
|
|
28
|
+
async main(args, currentDirectory) {
|
|
29
|
+
const request = await this.collectRequest(args);
|
|
30
|
+
await this.progress.run('Set up @databricks/design-system', async () => {
|
|
31
|
+
if (request.mode === 'existing') {
|
|
32
|
+
await this.addToExistingProject(currentDirectory);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
await this.scaffoldNewProject(request, currentDirectory);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async addToExistingProject(projectDirectory) {
|
|
39
|
+
const detectedProject = await this.progress.run('Project > Detect framework', () => this.projectInspector.detectProject(projectDirectory));
|
|
40
|
+
const reason = detectedProject.type === 'unknown' ? ` (${detectedProject.reason})` : '';
|
|
41
|
+
this.terminal.write(`\n> Detected project type: ${detectedProject.type}${reason}\n`);
|
|
42
|
+
if (detectedProject.type === 'unknown') {
|
|
43
|
+
this.terminal.write('\nCould not identify a React project here. Set it up manually:\n');
|
|
44
|
+
this.terminal.write((0, project_templates_1.createManualSetupInstructions)('generic'));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const packageManager = await this.progress.run('Project > Detect package manager', () => this.projectInspector.detectPackageManager(projectDirectory));
|
|
48
|
+
// Install hooks can generate entry files; configure them only after those hooks have finished.
|
|
49
|
+
await this.progress.run('Dependencies', () => this.dependencyInstaller.install(projectDirectory, packageManager));
|
|
50
|
+
const configuration = await this.progress.run('Configuration', () => this.projectConfigurator.configureExisting(projectDirectory, detectedProject.type));
|
|
51
|
+
if (configuration.addedImportsTo) {
|
|
52
|
+
this.terminal.write(`> Added the dbui CSS imports to ${(0, node_path_1.relative)(projectDirectory, configuration.addedImportsTo)}\n`);
|
|
53
|
+
}
|
|
54
|
+
if (configuration.wroteAgentInstructions) {
|
|
55
|
+
this.terminal.write('> Added AGENTS.md instructing agents to use @databricks/design-system for UI\n');
|
|
56
|
+
}
|
|
57
|
+
this.terminal.write((0, project_templates_1.createManualSetupInstructions)(detectedProject.type));
|
|
58
|
+
}
|
|
59
|
+
async collectRequest(args) {
|
|
60
|
+
try {
|
|
61
|
+
return await (0, scaffold_options_1.getScaffoldRequest)(args, this.terminal);
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
this.terminal.close();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async scaffoldNewProject(request, currentDirectory) {
|
|
68
|
+
const projectDirectory = (0, node_path_1.resolve)(currentDirectory, request.projectName);
|
|
69
|
+
const targetExists = await this.progress.run('Project > Check destination', () => this.fileSystem.pathExists(projectDirectory));
|
|
70
|
+
if (targetExists) {
|
|
71
|
+
throw new Error(`\`${request.projectName}\` already exists here. Choose a name that isn't taken.`);
|
|
72
|
+
}
|
|
73
|
+
await this.progress.run(`Project > Create ${request.mode === 'vite' ? 'Vite' : 'Next.js'} app`, (reportOutput) => this.runScaffolder(request, currentDirectory, reportOutput));
|
|
74
|
+
const packageManager = await this.progress.run('Project > Detect package manager', () => this.projectInspector.detectPackageManager(projectDirectory));
|
|
75
|
+
const additionalPackages = [
|
|
76
|
+
...(request.mode === 'vite' ? this.config.react18Pins : []),
|
|
77
|
+
...scaffold_theme_1.SCAFFOLD_THEME_PACKAGES,
|
|
78
|
+
];
|
|
79
|
+
await this.progress.run('Dependencies', () => this.dependencyInstaller.install(projectDirectory, packageManager, additionalPackages));
|
|
80
|
+
await this.progress.run('Configuration', () => request.mode === 'vite'
|
|
81
|
+
? this.projectConfigurator.configureVite(projectDirectory, request.theme)
|
|
82
|
+
: this.projectConfigurator.configureNext(projectDirectory, request.projectName, request.theme));
|
|
83
|
+
this.terminal.write((0, project_templates_1.createCompletionMessage)(request.projectName, packageManager, request.mode));
|
|
84
|
+
}
|
|
85
|
+
async runScaffolder(request, currentDirectory, reportOutput) {
|
|
86
|
+
if (request.mode === 'vite') {
|
|
87
|
+
reportOutput(`Scaffolding with ${this.config.viteScaffolder}…\n`);
|
|
88
|
+
await (0, process_runner_1.runSuccessfulProcess)(this.processRunner, {
|
|
89
|
+
binary: 'npx',
|
|
90
|
+
args: [
|
|
91
|
+
this.config.viteScaffolder,
|
|
92
|
+
request.projectName,
|
|
93
|
+
'--template',
|
|
94
|
+
'react-ts',
|
|
95
|
+
'--eslint',
|
|
96
|
+
'--no-interactive',
|
|
97
|
+
'--no-immediate',
|
|
98
|
+
],
|
|
99
|
+
cwd: currentDirectory,
|
|
100
|
+
env: { npm_config_loglevel: 'error' },
|
|
101
|
+
onOutput: reportOutput,
|
|
102
|
+
});
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
reportOutput(`Scaffolding with ${this.config.nextScaffolder}…\n`);
|
|
106
|
+
await (0, process_runner_1.runSuccessfulProcess)(this.processRunner, {
|
|
107
|
+
binary: 'npx',
|
|
108
|
+
args: [
|
|
109
|
+
this.config.nextScaffolder,
|
|
110
|
+
request.projectName,
|
|
111
|
+
'--ts',
|
|
112
|
+
'--no-app',
|
|
113
|
+
'--eslint',
|
|
114
|
+
'--no-tailwind',
|
|
115
|
+
'--no-src-dir',
|
|
116
|
+
'--import-alias',
|
|
117
|
+
'@/*',
|
|
118
|
+
'--use-npm',
|
|
119
|
+
'--yes',
|
|
120
|
+
],
|
|
121
|
+
cwd: currentDirectory,
|
|
122
|
+
env: { npm_config_loglevel: 'error' },
|
|
123
|
+
onOutput: reportOutput,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.ScaffoldTool = ScaffoldTool;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalProgressReporter = void 0;
|
|
4
|
+
/** Line-based output keeps concurrent phases readable in redirected logs. */
|
|
5
|
+
class TerminalProgressReporter {
|
|
6
|
+
terminal;
|
|
7
|
+
constructor(terminal) {
|
|
8
|
+
this.terminal = terminal;
|
|
9
|
+
}
|
|
10
|
+
async run(phase, operation) {
|
|
11
|
+
const startedAt = performance.now();
|
|
12
|
+
const elapsedSeconds = () => Math.floor((performance.now() - startedAt) / 1000);
|
|
13
|
+
this.terminal.write(`> [start] ${phase}\n`);
|
|
14
|
+
const heartbeat = setInterval(() => {
|
|
15
|
+
this.terminal.write(`> [running] ${phase} (${elapsedSeconds()}s elapsed)\n`);
|
|
16
|
+
}, 10_000);
|
|
17
|
+
heartbeat.unref();
|
|
18
|
+
try {
|
|
19
|
+
const result = await operation((output, stream) => {
|
|
20
|
+
if (stream === 'stderr') {
|
|
21
|
+
this.terminal.writeError(output);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.terminal.write(output);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
this.terminal.write(`> [done] ${phase} (${elapsedSeconds()}s)\n`);
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
this.terminal.writeError(`> [failed] ${phase} (${elapsedSeconds()}s)\n`);
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
clearInterval(heartbeat);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.TerminalProgressReporter = TerminalProgressReporter;
|