@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,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpawnProcessRunner = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
class SpawnProcessRunner {
|
|
6
|
+
run(request) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
const output = request.output ?? 'capture';
|
|
9
|
+
const childProcess = (0, node_child_process_1.spawn)(request.binary, request.args, {
|
|
10
|
+
cwd: request.cwd,
|
|
11
|
+
env: { ...process.env, ...request.env },
|
|
12
|
+
shell: false,
|
|
13
|
+
stdio: ['pipe', output === 'inherit' ? 'inherit' : 'pipe', output === 'inherit' ? 'inherit' : 'pipe'],
|
|
14
|
+
});
|
|
15
|
+
const stdoutChunks = [];
|
|
16
|
+
const stderrChunks = [];
|
|
17
|
+
let hasResolved = false;
|
|
18
|
+
let timeout;
|
|
19
|
+
const complete = (exitCode, timedOut = false, error) => {
|
|
20
|
+
if (hasResolved) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
hasResolved = true;
|
|
24
|
+
clearTimeout(timeout);
|
|
25
|
+
resolve({
|
|
26
|
+
stdout: stdoutChunks.join(''),
|
|
27
|
+
stderr: error?.message ?? stderrChunks.join(''),
|
|
28
|
+
exitCode,
|
|
29
|
+
timedOut,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
if (request.timeoutMs !== undefined) {
|
|
33
|
+
timeout = setTimeout(() => {
|
|
34
|
+
terminateProcess(childProcess);
|
|
35
|
+
complete(-1, true);
|
|
36
|
+
}, request.timeoutMs);
|
|
37
|
+
}
|
|
38
|
+
childProcess.stdout?.setEncoding('utf8').on('data', (chunk) => {
|
|
39
|
+
stdoutChunks.push(chunk);
|
|
40
|
+
request.onOutput?.(chunk, 'stdout');
|
|
41
|
+
});
|
|
42
|
+
childProcess.stderr?.setEncoding('utf8').on('data', (chunk) => {
|
|
43
|
+
stderrChunks.push(chunk);
|
|
44
|
+
request.onOutput?.(chunk, 'stderr');
|
|
45
|
+
});
|
|
46
|
+
childProcess.on('error', (error) => {
|
|
47
|
+
complete(-1, false, error);
|
|
48
|
+
});
|
|
49
|
+
childProcess.on('close', (exitCode) => {
|
|
50
|
+
complete(exitCode ?? -1);
|
|
51
|
+
});
|
|
52
|
+
childProcess.stdin?.on('error', (error) => {
|
|
53
|
+
terminateProcess(childProcess);
|
|
54
|
+
complete(-1, false, error);
|
|
55
|
+
});
|
|
56
|
+
childProcess.stdin?.end(request.input);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.SpawnProcessRunner = SpawnProcessRunner;
|
|
61
|
+
function terminateProcess(childProcess) {
|
|
62
|
+
childProcess.kill('SIGKILL');
|
|
63
|
+
// Descendants can keep the pipes open after the direct child exits.
|
|
64
|
+
childProcess.stdin?.destroy();
|
|
65
|
+
childProcess.stdout?.destroy();
|
|
66
|
+
childProcess.stderr?.destroy();
|
|
67
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DependencyInstaller = void 0;
|
|
4
|
+
const package_manifest_1 = require("./package-manifest");
|
|
5
|
+
const process_runner_1 = require("../../processes/process-runner");
|
|
6
|
+
class DependencyInstaller {
|
|
7
|
+
config;
|
|
8
|
+
fileSystem;
|
|
9
|
+
processRunner;
|
|
10
|
+
progress;
|
|
11
|
+
projectInspector;
|
|
12
|
+
constructor(dependencies) {
|
|
13
|
+
this.config = dependencies.config;
|
|
14
|
+
this.fileSystem = dependencies.fileSystem;
|
|
15
|
+
this.processRunner = dependencies.processRunner;
|
|
16
|
+
this.progress = dependencies.progress;
|
|
17
|
+
this.projectInspector = dependencies.projectInspector;
|
|
18
|
+
}
|
|
19
|
+
async install(projectDirectory, packageManager, additionalPackages = []) {
|
|
20
|
+
const packages = await this.progress.run('Dependencies > Select package version and missing peers', () => this.getPackagesToInstall(projectDirectory, additionalPackages));
|
|
21
|
+
const installVerb = packageManager === 'npm' ? 'install' : 'add';
|
|
22
|
+
await this.progress.run(`Dependencies > Run ${packageManager} ${installVerb}`, async (reportOutput) => {
|
|
23
|
+
reportOutput(`Installing ${packages.join(', ')}…\n`);
|
|
24
|
+
await (0, process_runner_1.runSuccessfulProcess)(this.processRunner, {
|
|
25
|
+
binary: packageManager,
|
|
26
|
+
args: [installVerb, ...packages],
|
|
27
|
+
cwd: projectDirectory,
|
|
28
|
+
env: { npm_config_loglevel: 'error' },
|
|
29
|
+
onOutput: reportOutput,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async getPackagesToInstall(projectDirectory, additionalPackages) {
|
|
34
|
+
const projectManifest = await this.projectInspector.readManifest(projectDirectory);
|
|
35
|
+
const missingPeerPackages = Object.entries(this.config.peerRanges)
|
|
36
|
+
.filter(([dependencyName]) => !projectManifest?.dependencyNames.has(dependencyName))
|
|
37
|
+
.map(([dependencyName, versionRange]) => `${dependencyName}@${versionRange}`);
|
|
38
|
+
return [...additionalPackages, await this.getDesignSystemPackageSpec(), ...missingPeerPackages];
|
|
39
|
+
}
|
|
40
|
+
async getDesignSystemPackageSpec() {
|
|
41
|
+
if (this.config.localPackagePath) {
|
|
42
|
+
return `file:${this.config.localPackagePath}`;
|
|
43
|
+
}
|
|
44
|
+
const packageManifest = await (0, package_manifest_1.readPackageManifest)(this.fileSystem, this.config.packageManifestPath);
|
|
45
|
+
const packageVersion = packageManifest?.version;
|
|
46
|
+
if (packageVersion && packageVersion !== '0.0.1-0') {
|
|
47
|
+
return `${this.config.packageName}@${packageVersion}`;
|
|
48
|
+
}
|
|
49
|
+
return `${this.config.packageName}@latest`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.DependencyInstaller = DependencyInstaller;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProgressReporter = getProgressReporter;
|
|
4
|
+
const listr_progress_reporter_1 = require("./listr-progress-reporter");
|
|
5
|
+
const terminal_progress_reporter_1 = require("./terminal-progress-reporter");
|
|
6
|
+
function getProgressReporter(terminal) {
|
|
7
|
+
return process.stdout.isTTY && process.stderr.isTTY && !process.env['CI'] && process.env['TERM'] !== 'dumb'
|
|
8
|
+
? new listr_progress_reporter_1.ListrProgressReporter()
|
|
9
|
+
: new terminal_progress_reporter_1.TerminalProgressReporter(terminal);
|
|
10
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListrProgressReporter = void 0;
|
|
4
|
+
const node_util_1 = require("node:util");
|
|
5
|
+
const listr2_1 = require("listr2");
|
|
6
|
+
class ListrProgressReporter {
|
|
7
|
+
activePhases = new Set();
|
|
8
|
+
pending = new Set();
|
|
9
|
+
reportOutput;
|
|
10
|
+
async run(phase, operation) {
|
|
11
|
+
if (!this.reportOutput) {
|
|
12
|
+
return this.runSession(phase, operation);
|
|
13
|
+
}
|
|
14
|
+
const result = this.runPhase(phase, operation);
|
|
15
|
+
const settled = result.then(() => { }, () => { });
|
|
16
|
+
this.pending.add(settled);
|
|
17
|
+
void settled.then(() => this.pending.delete(settled));
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
async runSession(phase, operation) {
|
|
21
|
+
const tasks = new listr2_1.Listr([
|
|
22
|
+
{
|
|
23
|
+
title: phase,
|
|
24
|
+
rendererOptions: { persistentOutput: true },
|
|
25
|
+
task: async (context, task) => {
|
|
26
|
+
this.reportOutput = (output) => {
|
|
27
|
+
task.output = output;
|
|
28
|
+
};
|
|
29
|
+
const timer = setInterval(() => this.renderPhases(), 1000);
|
|
30
|
+
timer.unref();
|
|
31
|
+
try {
|
|
32
|
+
context.value = await operation((output) => {
|
|
33
|
+
task.output = output;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
// Promise.all can reject while sibling phases still own child processes.
|
|
38
|
+
while (this.pending.size > 0) {
|
|
39
|
+
await Promise.all(this.pending);
|
|
40
|
+
}
|
|
41
|
+
clearInterval(timer);
|
|
42
|
+
this.reportOutput = undefined;
|
|
43
|
+
this.activePhases.clear();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
], {
|
|
48
|
+
rendererOptions: { timer: listr2_1.PRESET_TIMER, collapseErrors: false },
|
|
49
|
+
// listr2 7's signal listener is never removed; Node retains its normal SIGINT behavior.
|
|
50
|
+
registerSignalListeners: false,
|
|
51
|
+
});
|
|
52
|
+
return (await tasks.run()).value;
|
|
53
|
+
}
|
|
54
|
+
async runPhase(title, operation) {
|
|
55
|
+
const phase = {
|
|
56
|
+
title,
|
|
57
|
+
startedAt: performance.now(),
|
|
58
|
+
output: '',
|
|
59
|
+
unfinishedLines: { stdout: '', stderr: '' },
|
|
60
|
+
failed: false,
|
|
61
|
+
};
|
|
62
|
+
this.activePhases.add(phase);
|
|
63
|
+
this.renderPhases();
|
|
64
|
+
try {
|
|
65
|
+
return await operation((output, stream = 'stdout') => {
|
|
66
|
+
const lines = (phase.unfinishedLines[stream] + (0, node_util_1.stripVTControlCharacters)(output)).split(/\r\n|[\r\n]/);
|
|
67
|
+
phase.unfinishedLines[stream] = lines.pop() ?? '';
|
|
68
|
+
phase.output = phase.unfinishedLines[stream] || lines.reverse().find((line) => line.trim()) || phase.output;
|
|
69
|
+
this.renderPhases();
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
phase.failed = true;
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
if (!phase.failed) {
|
|
78
|
+
this.activePhases.delete(phase);
|
|
79
|
+
}
|
|
80
|
+
this.renderPhases();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
renderPhases() {
|
|
84
|
+
const lines = [...this.activePhases].map((phase) => {
|
|
85
|
+
const seconds = Math.floor((performance.now() - phase.startedAt) / 1000);
|
|
86
|
+
const status = phase.failed ? '[failed] ' : '';
|
|
87
|
+
const output = phase.output ? `\n ${phase.output}` : '';
|
|
88
|
+
return `${status}${phase.title} (${seconds}s)${output}`;
|
|
89
|
+
});
|
|
90
|
+
this.reportOutput?.(lines.join('\n'));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.ListrProgressReporter = ListrProgressReporter;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_path_1 = require("node:path");
|
|
4
|
+
const node_util_1 = require("node:util");
|
|
5
|
+
const local_package_builder_1 = require("./local-package-builder");
|
|
6
|
+
const main_1 = require("./main");
|
|
7
|
+
const node_file_system_1 = require("./node-file-system");
|
|
8
|
+
const scaffold_config_1 = require("./scaffold-config");
|
|
9
|
+
const terminal_progress_reporter_1 = require("./terminal-progress-reporter");
|
|
10
|
+
const spawn_process_runner_1 = require("../../processes/spawn-process-runner");
|
|
11
|
+
async function getLocalConfig(args) {
|
|
12
|
+
const packageDirectory = (0, node_path_1.resolve)(__dirname, '../..');
|
|
13
|
+
const config = (0, scaffold_config_1.getScaffoldToolConfig)(packageDirectory);
|
|
14
|
+
const { values } = (0, node_util_1.parseArgs)({
|
|
15
|
+
args: [...args],
|
|
16
|
+
options: {
|
|
17
|
+
'local-package': { type: 'boolean' },
|
|
18
|
+
mode: { type: 'string' },
|
|
19
|
+
name: { type: 'string' },
|
|
20
|
+
},
|
|
21
|
+
allowPositionals: true,
|
|
22
|
+
strict: false,
|
|
23
|
+
});
|
|
24
|
+
if (!values['local-package']) {
|
|
25
|
+
return config;
|
|
26
|
+
}
|
|
27
|
+
const progress = new terminal_progress_reporter_1.TerminalProgressReporter({
|
|
28
|
+
write: (message) => {
|
|
29
|
+
process.stdout.write(message);
|
|
30
|
+
},
|
|
31
|
+
writeError: (message) => {
|
|
32
|
+
process.stderr.write(message);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const packageBuilder = new local_package_builder_1.LocalPackageBuilder({
|
|
36
|
+
packageDirectory,
|
|
37
|
+
processRunner: new spawn_process_runner_1.SpawnProcessRunner(),
|
|
38
|
+
fileSystem: new node_file_system_1.NodeFileSystem(),
|
|
39
|
+
progress,
|
|
40
|
+
});
|
|
41
|
+
return { ...config, localPackagePath: await packageBuilder.build() };
|
|
42
|
+
}
|
|
43
|
+
async function run(args) {
|
|
44
|
+
await (0, main_1.main)(args, await getLocalConfig(args));
|
|
45
|
+
}
|
|
46
|
+
void run(process.argv.slice(2)).catch((error) => {
|
|
47
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
48
|
+
process.stderr.write(`\nERROR: ${message}\n`);
|
|
49
|
+
process.exitCode = 1;
|
|
50
|
+
});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalPackageBuilder = void 0;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const process_runner_1 = require("../../processes/process-runner");
|
|
7
|
+
const PREPUBLISH_FILES = ['package.json', 'README.md', 'AGENTS.md', 'package.json.bak', 'README_bak.md'];
|
|
8
|
+
class LocalPackageBuilder {
|
|
9
|
+
packageDirectory;
|
|
10
|
+
processRunner;
|
|
11
|
+
fileSystem;
|
|
12
|
+
progress;
|
|
13
|
+
constructor(dependencies) {
|
|
14
|
+
this.packageDirectory = dependencies.packageDirectory;
|
|
15
|
+
this.processRunner = dependencies.processRunner;
|
|
16
|
+
this.fileSystem = dependencies.fileSystem;
|
|
17
|
+
this.progress = dependencies.progress;
|
|
18
|
+
}
|
|
19
|
+
async build() {
|
|
20
|
+
const originalFiles = await this.progress.run('Local package > Save source files', () => this.snapshotSourceFiles());
|
|
21
|
+
const outputDirectory = (0, node_path_1.join)(this.packageDirectory, '.local-packages');
|
|
22
|
+
await (0, promises_1.mkdir)(outputDirectory, { recursive: true });
|
|
23
|
+
// Keep each archive at a unique, persistent path for lockfiles and package-manager caches.
|
|
24
|
+
const buildDirectory = await (0, promises_1.mkdtemp)((0, node_path_1.join)(outputDirectory, 'build-'));
|
|
25
|
+
const tarballPath = (0, node_path_1.join)(buildDirectory, 'design-system.tgz');
|
|
26
|
+
const errors = [];
|
|
27
|
+
try {
|
|
28
|
+
await this.createArchive(tarballPath);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
errors.push(error);
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
// Restore the working copies, not HEAD: local component and manifest edits are what we're testing.
|
|
35
|
+
await this.progress.run('Local package > Restore source files', () => this.restoreSourceFiles(originalFiles));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
errors.push(error);
|
|
39
|
+
}
|
|
40
|
+
if (errors.length > 0) {
|
|
41
|
+
try {
|
|
42
|
+
await this.progress.run('Local package > Remove unusable archive', () => this.fileSystem.remove(buildDirectory));
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
errors.push(error);
|
|
46
|
+
}
|
|
47
|
+
throwCollectedErrors(errors);
|
|
48
|
+
}
|
|
49
|
+
return tarballPath;
|
|
50
|
+
}
|
|
51
|
+
async createArchive(tarballPath) {
|
|
52
|
+
await this.progress.run('Local package > Run publishing build', () => (0, process_runner_1.runSuccessfulProcess)(this.processRunner, {
|
|
53
|
+
binary: 'yarn',
|
|
54
|
+
args: ['prepublish'],
|
|
55
|
+
cwd: this.packageDirectory,
|
|
56
|
+
output: 'inherit',
|
|
57
|
+
}));
|
|
58
|
+
await this.progress.run('Local package > Pack archive', () => (0, process_runner_1.runSuccessfulProcess)(this.processRunner, {
|
|
59
|
+
binary: 'yarn',
|
|
60
|
+
args: ['pack', '--out', tarballPath],
|
|
61
|
+
cwd: this.packageDirectory,
|
|
62
|
+
output: 'inherit',
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
async snapshotSourceFiles() {
|
|
66
|
+
return Promise.all(PREPUBLISH_FILES.map(async (name) => {
|
|
67
|
+
const path = (0, node_path_1.join)(this.packageDirectory, name);
|
|
68
|
+
const contents = (await this.fileSystem.pathExists(path))
|
|
69
|
+
? await this.fileSystem.readTextFile(path)
|
|
70
|
+
: undefined;
|
|
71
|
+
return { path, contents };
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
async restoreSourceFiles(files) {
|
|
75
|
+
const outcomes = await Promise.allSettled(files.map(async ({ path, contents }) => {
|
|
76
|
+
if (contents === undefined) {
|
|
77
|
+
await this.fileSystem.remove(path);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
await this.fileSystem.writeTextFile(path, contents);
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
const errors = [];
|
|
84
|
+
for (const outcome of outcomes) {
|
|
85
|
+
if (outcome.status === 'rejected') {
|
|
86
|
+
errors.push(outcome.reason);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (errors.length > 0) {
|
|
90
|
+
throwCollectedErrors(errors);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.LocalPackageBuilder = LocalPackageBuilder;
|
|
95
|
+
function throwCollectedErrors(errors) {
|
|
96
|
+
if (errors.length === 1) {
|
|
97
|
+
throw errors[0];
|
|
98
|
+
}
|
|
99
|
+
const messages = errors.map((error) => (error instanceof Error ? error.message : String(error)));
|
|
100
|
+
throw new AggregateError(errors, messages.join('\n'));
|
|
101
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.main = main;
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const dependency_installer_1 = require("./dependency-installer");
|
|
7
|
+
const get_progress_reporter_1 = require("./get-progress-reporter");
|
|
8
|
+
const node_file_system_1 = require("./node-file-system");
|
|
9
|
+
const project_configurator_1 = require("./project-configurator");
|
|
10
|
+
const project_inspector_1 = require("./project-inspector");
|
|
11
|
+
const readline_terminal_1 = require("./readline-terminal");
|
|
12
|
+
const scaffold_config_1 = require("./scaffold-config");
|
|
13
|
+
const scaffold_tool_1 = require("./scaffold-tool");
|
|
14
|
+
const spawn_process_runner_1 = require("../../processes/spawn-process-runner");
|
|
15
|
+
async function main(args, config = (0, scaffold_config_1.getScaffoldToolConfig)((0, node_path_1.resolve)(__dirname, '../..'))) {
|
|
16
|
+
const fileSystem = new node_file_system_1.NodeFileSystem();
|
|
17
|
+
const processRunner = new spawn_process_runner_1.SpawnProcessRunner();
|
|
18
|
+
const terminal = new readline_terminal_1.ReadlineTerminal();
|
|
19
|
+
const progress = (0, get_progress_reporter_1.getProgressReporter)(terminal);
|
|
20
|
+
const projectInspector = new project_inspector_1.ProjectInspector(fileSystem);
|
|
21
|
+
const dependencyInstaller = new dependency_installer_1.DependencyInstaller({
|
|
22
|
+
config,
|
|
23
|
+
fileSystem,
|
|
24
|
+
processRunner,
|
|
25
|
+
progress,
|
|
26
|
+
projectInspector,
|
|
27
|
+
});
|
|
28
|
+
const projectConfigurator = new project_configurator_1.ProjectConfigurator({ config, fileSystem, projectInspector, terminal, progress });
|
|
29
|
+
const scaffoldTool = new scaffold_tool_1.ScaffoldTool({
|
|
30
|
+
config,
|
|
31
|
+
dependencyInstaller,
|
|
32
|
+
fileSystem,
|
|
33
|
+
processRunner,
|
|
34
|
+
progress,
|
|
35
|
+
projectConfigurator,
|
|
36
|
+
projectInspector,
|
|
37
|
+
terminal,
|
|
38
|
+
});
|
|
39
|
+
await scaffoldTool.main(args, process.cwd());
|
|
40
|
+
}
|
|
41
|
+
if (require.main === module) {
|
|
42
|
+
void main(process.argv.slice(2)).catch((error) => {
|
|
43
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
44
|
+
process.stderr.write(`\nERROR: ${message}\n`);
|
|
45
|
+
process.exitCode = 1;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeFileSystem = void 0;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
class NodeFileSystem {
|
|
7
|
+
async pathExists(filePath) {
|
|
8
|
+
try {
|
|
9
|
+
await (0, promises_1.access)(filePath);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
if (isMissingPathError(error)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async readTextFile(filePath) {
|
|
20
|
+
return (0, promises_1.readFile)(filePath, 'utf8');
|
|
21
|
+
}
|
|
22
|
+
async remove(filePath) {
|
|
23
|
+
await (0, promises_1.rm)(filePath, { force: true, recursive: true });
|
|
24
|
+
}
|
|
25
|
+
async writeTextFile(filePath, content) {
|
|
26
|
+
await (0, promises_1.mkdir)((0, node_path_1.dirname)(filePath), { recursive: true });
|
|
27
|
+
await (0, promises_1.writeFile)(filePath, content);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.NodeFileSystem = NodeFileSystem;
|
|
31
|
+
function isMissingPathError(error) {
|
|
32
|
+
return typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT';
|
|
33
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readPackageManifest = readPackageManifest;
|
|
4
|
+
exports.parsePackageManifest = parsePackageManifest;
|
|
5
|
+
async function readPackageManifest(fileSystem, manifestPath) {
|
|
6
|
+
try {
|
|
7
|
+
const content = await fileSystem.readTextFile(manifestPath);
|
|
8
|
+
return parsePackageManifest(content);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function parsePackageManifest(content) {
|
|
15
|
+
try {
|
|
16
|
+
const parsedManifest = JSON.parse(content);
|
|
17
|
+
if (!isStringKeyedObject(parsedManifest)) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const dependencyNames = new Set();
|
|
21
|
+
addDependencyNames(dependencyNames, parsedManifest['dependencies']);
|
|
22
|
+
addDependencyNames(dependencyNames, parsedManifest['devDependencies']);
|
|
23
|
+
const version = parsedManifest['version'];
|
|
24
|
+
return typeof version === 'string' ? { dependencyNames, version } : { dependencyNames };
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function addDependencyNames(dependencyNames, dependencyGroup) {
|
|
31
|
+
if (!isStringKeyedObject(dependencyGroup)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
for (const dependencyName of Object.keys(dependencyGroup)) {
|
|
35
|
+
dependencyNames.add(dependencyName);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function isStringKeyedObject(value) {
|
|
39
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
40
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectConfigurator = void 0;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const project_templates_1 = require("./project-templates");
|
|
6
|
+
const theme_picker_templates_1 = require("./theme-picker-templates");
|
|
7
|
+
const theme_templates_1 = require("./theme-templates");
|
|
8
|
+
class ProjectConfigurator {
|
|
9
|
+
config;
|
|
10
|
+
fileSystem;
|
|
11
|
+
projectInspector;
|
|
12
|
+
progress;
|
|
13
|
+
terminal;
|
|
14
|
+
constructor(dependencies) {
|
|
15
|
+
this.config = dependencies.config;
|
|
16
|
+
this.fileSystem = dependencies.fileSystem;
|
|
17
|
+
this.projectInspector = dependencies.projectInspector;
|
|
18
|
+
this.progress = dependencies.progress;
|
|
19
|
+
this.terminal = dependencies.terminal;
|
|
20
|
+
}
|
|
21
|
+
async configureVite(projectDirectory, themeName = 'dubois') {
|
|
22
|
+
await Promise.all([
|
|
23
|
+
this.writeProjectFile(projectDirectory, 'src/main.tsx', (0, project_templates_1.createViteMainFile)()),
|
|
24
|
+
this.writeProjectFile(projectDirectory, 'src/dbui.css', project_templates_1.BODY_FONT_CSS),
|
|
25
|
+
this.writeProjectFile(projectDirectory, 'src/app-theme.tsx', (0, theme_picker_templates_1.createThemeProviderFile)(themeName)),
|
|
26
|
+
this.writeProjectFile(projectDirectory, 'src/app-themes.ts', (0, theme_templates_1.createThemeRegistryFile)()),
|
|
27
|
+
this.writeProjectFile(projectDirectory, 'src/theme-picker.tsx', (0, theme_picker_templates_1.createThemePickerFile)()),
|
|
28
|
+
this.writeProjectFile(projectDirectory, 'THEME.md', (0, theme_templates_1.createThemeReadme)(themeName, 'src')),
|
|
29
|
+
this.writeProjectFile(projectDirectory, 'src/App.tsx', (0, project_templates_1.createViteAppFile)()),
|
|
30
|
+
this.progress.run('Configuration > Add CSS declarations', () => this.ensureCssDeclaration(projectDirectory, 'vite')),
|
|
31
|
+
this.writeProjectFile(projectDirectory, 'vite.config.ts', (0, project_templates_1.createViteConfigFile)()),
|
|
32
|
+
this.progress.run('Configuration > Configure TypeScript JSX', () => this.addTsconfigJsxImportSource((0, node_path_1.join)(projectDirectory, 'tsconfig.app.json'))),
|
|
33
|
+
this.progress.run('Configuration > Remove Vite demo files', () => this.removeViteDemoFiles(projectDirectory)),
|
|
34
|
+
this.progress.run('Configuration > Set up agent instructions', () => this.writeAgentInstructions(projectDirectory)),
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
async configureNext(projectDirectory, projectName, themeName = 'dubois') {
|
|
38
|
+
const nextConfigPath = await this.progress.run('Configuration > Find Next.js config', () => this.findNextConfigPath(projectDirectory));
|
|
39
|
+
const nextConfig = nextConfigPath.endsWith('.js') ? (0, project_templates_1.createCommonJsNextConfigFile)() : (0, project_templates_1.createEsmNextConfigFile)();
|
|
40
|
+
await Promise.all([
|
|
41
|
+
this.writeProjectFile(projectDirectory, 'pages/_app.tsx', (0, project_templates_1.createNextAppFile)()),
|
|
42
|
+
this.writeProjectFile(projectDirectory, 'pages/index.tsx', (0, project_templates_1.createNextIndexFile)()),
|
|
43
|
+
this.writeProjectFile(projectDirectory, 'dbui-app.tsx', (0, project_templates_1.createNextDbuiAppFile)()),
|
|
44
|
+
this.writeProjectFile(projectDirectory, 'dbui.css', project_templates_1.BODY_FONT_CSS),
|
|
45
|
+
this.writeProjectFile(projectDirectory, 'app-theme.tsx', (0, theme_picker_templates_1.createThemeProviderFile)(themeName)),
|
|
46
|
+
this.writeProjectFile(projectDirectory, 'app-themes.ts', (0, theme_templates_1.createThemeRegistryFile)()),
|
|
47
|
+
this.writeProjectFile(projectDirectory, 'theme-picker.tsx', (0, theme_picker_templates_1.createThemePickerFile)()),
|
|
48
|
+
this.writeProjectFile(projectDirectory, 'THEME.md', (0, theme_templates_1.createThemeReadme)(themeName, '.')),
|
|
49
|
+
this.progress.run('Configuration > Add CSS declarations', () => this.ensureCssDeclaration(projectDirectory, 'next')),
|
|
50
|
+
this.progress.run('Configuration > Write Next.js config', () => this.fileSystem.writeTextFile(nextConfigPath, nextConfig)),
|
|
51
|
+
this.progress.run('Configuration > Configure TypeScript JSX', () => this.addTsconfigJsxImportSource((0, node_path_1.join)(projectDirectory, 'tsconfig.json'))),
|
|
52
|
+
this.writeProjectFile(projectDirectory, 'DEPLOY.md', (0, project_templates_1.createVercelReadme)(projectName)),
|
|
53
|
+
this.progress.run('Configuration > Set up agent instructions', () => this.writeAgentInstructions(projectDirectory)),
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
async configureExisting(projectDirectory, projectType) {
|
|
57
|
+
const [addedImportsTo, wroteAgentInstructions] = await Promise.all([
|
|
58
|
+
this.progress.run('Configuration > Add CSS imports to entry point', () => this.configureExistingEntryFile(projectDirectory, projectType)),
|
|
59
|
+
this.progress.run('Configuration > Set up agent instructions', () => this.writeAgentInstructions(projectDirectory)),
|
|
60
|
+
this.progress.run('Configuration > Add CSS declarations', () => this.ensureCssDeclaration(projectDirectory, projectType)),
|
|
61
|
+
]);
|
|
62
|
+
return addedImportsTo ? { addedImportsTo, wroteAgentInstructions } : { wroteAgentInstructions };
|
|
63
|
+
}
|
|
64
|
+
async configureExistingEntryFile(projectDirectory, projectType) {
|
|
65
|
+
const entryFile = await this.projectInspector.findExistingEntryFile(projectDirectory, projectType);
|
|
66
|
+
return entryFile && (await this.addImports(entryFile, project_templates_1.CSS_IMPORTS)) ? entryFile : undefined;
|
|
67
|
+
}
|
|
68
|
+
async writeProjectFile(projectDirectory, relativePath, content) {
|
|
69
|
+
await this.progress.run(`Configuration > Write ${relativePath}`, () => this.fileSystem.writeTextFile((0, node_path_1.join)(projectDirectory, relativePath), content));
|
|
70
|
+
}
|
|
71
|
+
async addImports(filePath, imports) {
|
|
72
|
+
const existingContent = (await this.fileSystem.pathExists(filePath))
|
|
73
|
+
? await this.fileSystem.readTextFile(filePath)
|
|
74
|
+
: '';
|
|
75
|
+
const missingImports = imports.filter((importStatement) => !existingContent.includes(importStatement));
|
|
76
|
+
if (missingImports.length === 0) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const sourceLines = existingContent.split('\n');
|
|
80
|
+
const directiveIndex = sourceLines.findIndex((line) => /^\s*(['"])use (client|server)\1;?\s*$/.test(line));
|
|
81
|
+
const insertionIndex = directiveIndex >= 0 ? directiveIndex + 1 : 0;
|
|
82
|
+
sourceLines.splice(insertionIndex, 0, ...missingImports);
|
|
83
|
+
await this.fileSystem.writeTextFile(filePath, sourceLines.join('\n'));
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
async addTsconfigJsxImportSource(tsconfigPath) {
|
|
87
|
+
if (!(await this.fileSystem.pathExists(tsconfigPath))) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const content = await this.fileSystem.readTextFile(tsconfigPath);
|
|
91
|
+
if (content.includes('jsxImportSource')) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const compilerOptionsMarker = '"compilerOptions": {';
|
|
95
|
+
if (!content.includes(compilerOptionsMarker)) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const updatedContent = content.replace(compilerOptionsMarker, `${compilerOptionsMarker}\n "jsxImportSource": "@emotion/react",`);
|
|
99
|
+
await this.fileSystem.writeTextFile(tsconfigPath, updatedContent);
|
|
100
|
+
}
|
|
101
|
+
async ensureCssDeclaration(projectDirectory, projectType) {
|
|
102
|
+
const relativePath = projectType === 'next' ? 'css.d.ts' : 'src/css.d.ts';
|
|
103
|
+
const declarationPath = (0, node_path_1.join)(projectDirectory, relativePath);
|
|
104
|
+
if (!(await this.fileSystem.pathExists(declarationPath))) {
|
|
105
|
+
await this.fileSystem.writeTextFile(declarationPath, project_templates_1.CSS_DECLARATION);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async findNextConfigPath(projectDirectory) {
|
|
109
|
+
for (const fileName of ['next.config.ts', 'next.config.mjs', 'next.config.js']) {
|
|
110
|
+
const configPath = (0, node_path_1.join)(projectDirectory, fileName);
|
|
111
|
+
if (await this.fileSystem.pathExists(configPath)) {
|
|
112
|
+
return configPath;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return (0, node_path_1.join)(projectDirectory, 'next.config.mjs');
|
|
116
|
+
}
|
|
117
|
+
async removeViteDemoFiles(projectDirectory) {
|
|
118
|
+
await Promise.all(['src/App.css', 'src/index.css', 'src/assets'].map((relativePath) => this.fileSystem.remove((0, node_path_1.join)(projectDirectory, relativePath))));
|
|
119
|
+
}
|
|
120
|
+
async writeAgentInstructions(projectDirectory) {
|
|
121
|
+
const agentInstructionsPath = (0, node_path_1.join)(projectDirectory, 'AGENTS.md');
|
|
122
|
+
const claudeInstructionsPath = (0, node_path_1.join)(projectDirectory, 'CLAUDE.md');
|
|
123
|
+
let wroteAgentInstructions = false;
|
|
124
|
+
if (!(await this.fileSystem.pathExists(agentInstructionsPath))) {
|
|
125
|
+
if (!(await this.fileSystem.pathExists(this.config.agentInstructionsPath))) {
|
|
126
|
+
this.terminal.writeError('> Skipping AGENTS.md/CLAUDE.md (bundled scaffold-agents.md not found).\n');
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
const instructions = await this.fileSystem.readTextFile(this.config.agentInstructionsPath);
|
|
130
|
+
await this.fileSystem.writeTextFile(agentInstructionsPath, instructions);
|
|
131
|
+
wroteAgentInstructions = true;
|
|
132
|
+
}
|
|
133
|
+
if (!(await this.fileSystem.pathExists(claudeInstructionsPath))) {
|
|
134
|
+
await this.fileSystem.writeTextFile(claudeInstructionsPath, '@AGENTS.md\n');
|
|
135
|
+
}
|
|
136
|
+
return wroteAgentInstructions;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.ProjectConfigurator = ProjectConfigurator;
|