@keboola/design 13.2.0 → 15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +16 -24
- package/CHANGELOG.md +194 -0
- package/COMPONENT-API.md +109 -105
- package/dist/{AIKit-C5FbKjwa.js → AIKit-CaAW4GLx.js} +2216 -307
- package/dist/AIKit-CaAW4GLx.js.map +1 -0
- package/dist/{Alert-DuAGeYyM.js → Alert-Chz6KZ7e.js} +11 -20
- package/dist/Alert-Chz6KZ7e.js.map +1 -0
- package/dist/{AlertModal-BDle9ZVQ.js → AlertModal-D4AtpvLS.js} +15 -35
- package/dist/AlertModal-D4AtpvLS.js.map +1 -0
- package/dist/{AppShell-B03fj1j7.js → AppShell-C8V1KRr_.js} +2 -2
- package/dist/{AppShell-B03fj1j7.js.map → AppShell-C8V1KRr_.js.map} +1 -1
- package/dist/{AutoSaveTextarea-jiqNeeE4.js → AutoSaveTextarea-BbMhC5Aq.js} +3 -3
- package/dist/AutoSaveTextarea-BbMhC5Aq.js.map +1 -0
- package/dist/{Badge-Ba3epgcI.js → Badge-5GHIsgRS.js} +14 -3
- package/dist/Badge-5GHIsgRS.js.map +1 -0
- package/dist/{BrandEditor-Dq168RJc.js → BrandEditor-CTGtQUFZ.js} +8 -10
- package/dist/BrandEditor-CTGtQUFZ.js.map +1 -0
- package/dist/{BrandLogo-BfITD0im.js → BrandLogo-DkESE19K.js} +2 -2
- package/dist/{BrandLogo-BfITD0im.js.map → BrandLogo-DkESE19K.js.map} +1 -1
- package/dist/{Breadcrumb-CUyYu5Bi.js → Breadcrumb-B2YSNON4.js} +55 -13
- package/dist/Breadcrumb-B2YSNON4.js.map +1 -0
- package/dist/{Button-D2JqBAq7.js → Button-BNkyYU8u.js} +9 -185
- package/dist/Button-BNkyYU8u.js.map +1 -0
- package/dist/{Card-Bpc_ZlL4.js → Card-DxjGiqH8.js} +11 -18
- package/dist/Card-DxjGiqH8.js.map +1 -0
- package/dist/{Checkbox-D9rafoKh.js → Checkbox-CHDDJyAA.js} +20 -45
- package/dist/Checkbox-CHDDJyAA.js.map +1 -0
- package/dist/{Clipboard-BHWUodAx.js → Clipboard-DlwVZS1P.js} +2 -2
- package/dist/{Clipboard-BHWUodAx.js.map → Clipboard-DlwVZS1P.js.map} +1 -1
- package/dist/{ClipboardButton-Urg-kZbh.js → ClipboardButton-B1Hr_n_Z.js} +3 -3
- package/dist/{ClipboardButton-Urg-kZbh.js.map → ClipboardButton-B1Hr_n_Z.js.map} +1 -1
- package/dist/{CodeEditor-Y0iE-SwV.js → CodeEditor-DVSPdfdo.js} +24 -31
- package/dist/CodeEditor-DVSPdfdo.js.map +1 -0
- package/dist/{ColorInput-D1nC0X6i.js → ColorInput-B_eZIu39.js} +5 -7
- package/dist/ColorInput-B_eZIu39.js.map +1 -0
- package/dist/{ColorModeSwitch-Cxee8jnB.js → ColorModeSwitch-B6UEzG0H.js} +3 -3
- package/dist/{ColorModeSwitch-Cxee8jnB.js.map → ColorModeSwitch-B6UEzG0H.js.map} +1 -1
- package/dist/{Combobox-B1Kjoy5J.js → Combobox-CaKqgstG.js} +250 -56
- package/dist/Combobox-CaKqgstG.js.map +1 -0
- package/dist/{Command-BuOA3V18.js → Command-DhXmqFLT.js} +51 -33
- package/dist/Command-DhXmqFLT.js.map +1 -0
- package/dist/{CopyField-DsOVtV2Q.js → CopyField-D0Pg4Z0R.js} +2 -2
- package/dist/{CopyField-DsOVtV2Q.js.map → CopyField-D0Pg4Z0R.js.map} +1 -1
- package/dist/{DateInput-BlKkequE.js → DateInput-BgbMDJkm.js} +5 -7
- package/dist/DateInput-BgbMDJkm.js.map +1 -0
- package/dist/{DatePicker-CgHAu9KX.js → DatePicker-BXpDRo-R.js} +2 -2
- package/dist/{DatePicker-CgHAu9KX.js.map → DatePicker-BXpDRo-R.js.map} +1 -1
- package/dist/{DateRangeInput-DOxJHw8V.js → DateRangeInput-BW0-_jV0.js} +5 -7
- package/dist/DateRangeInput-BW0-_jV0.js.map +1 -0
- package/dist/{DateRangePicker-CXpXPMoh.js → DateRangePicker-C4-DoWac.js} +7 -12
- package/dist/DateRangePicker-C4-DoWac.js.map +1 -0
- package/dist/{DropdownMenu-DtRYcKEx.js → DropdownMenu-CcVbZ_5u.js} +35 -64
- package/dist/DropdownMenu-CcVbZ_5u.js.map +1 -0
- package/dist/{FieldItem-Cf1E3rfQ.js → FieldItem-BHUqgSO1.js} +3 -3
- package/dist/{FieldItem-Cf1E3rfQ.js.map → FieldItem-BHUqgSO1.js.map} +1 -1
- package/dist/{FileUpload-D6vPG3WB.js → FileUpload-BYFONpEl.js} +3 -3
- package/dist/FileUpload-BYFONpEl.js.map +1 -0
- package/dist/{Form-CuaAn-lR.js → Form-CAofWyMI.js} +8 -8
- package/dist/{Form-CuaAn-lR.js.map → Form-CAofWyMI.js.map} +1 -1
- package/dist/{FormGroup-D4O96YPm.js → FormGroup-V5kIgQRN.js} +3 -3
- package/dist/{FormGroup-D4O96YPm.js.map → FormGroup-V5kIgQRN.js.map} +1 -1
- package/dist/{FullScreenModal-CUuAakh3.js → FullScreenModal-DAvvlGOz.js} +2 -5
- package/dist/FullScreenModal-DAvvlGOz.js.map +1 -0
- package/dist/HoverCard-Cv5rmvJq.js +26 -0
- package/dist/HoverCard-Cv5rmvJq.js.map +1 -0
- package/dist/{InlineEdit-DSMIEUUa.js → InlineEdit-D4P0SvCB.js} +5 -9
- package/dist/InlineEdit-D4P0SvCB.js.map +1 -0
- package/dist/{InputGroup-Dm014ruw.js → InputGroup-CZv_7QlM.js} +39 -146
- package/dist/InputGroup-CZv_7QlM.js.map +1 -0
- package/dist/{Kbd-Du93F3o4.js → Kbd-CflKthfu.js} +5 -14
- package/dist/Kbd-CflKthfu.js.map +1 -0
- package/dist/MermaidDiagram-Te-5gOCU.js +199 -0
- package/dist/MermaidDiagram-Te-5gOCU.js.map +1 -0
- package/dist/{Modal-DQIauzar.js → Modal-CbUz-5YH.js} +19 -37
- package/dist/Modal-CbUz-5YH.js.map +1 -0
- package/dist/{ModalTitle-CTECVgL8.js → ModalTitle-cy0Ht9VY.js} +2 -2
- package/dist/{ModalTitle-CTECVgL8.js.map → ModalTitle-cy0Ht9VY.js.map} +1 -1
- package/dist/{MultiActionButtonGroup-xKqiucAN.js → MultiActionButtonGroup-Dzig87s1.js} +3 -3
- package/dist/{MultiActionButtonGroup-xKqiucAN.js.map → MultiActionButtonGroup-Dzig87s1.js.map} +1 -1
- package/dist/{Navbar-CtVYcRFn.js → Navbar-DHUS7XiU.js} +2 -2
- package/dist/{Navbar-CtVYcRFn.js.map → Navbar-DHUS7XiU.js.map} +1 -1
- package/dist/OtpInput-CY8yCaJk.js.map +1 -1
- package/dist/{PageToolbar-B_e7HGva.js → PageToolbar-DJ5tdYla.js} +4 -4
- package/dist/{PageToolbar-B_e7HGva.js.map → PageToolbar-DJ5tdYla.js.map} +1 -1
- package/dist/{Pagination-DDp6PRqf.js → Pagination-D27x5KmH.js} +2 -2
- package/dist/{Pagination-DDp6PRqf.js.map → Pagination-D27x5KmH.js.map} +1 -1
- package/dist/{Popconfirm-BgV6a0sl.js → Popconfirm-DwLCYNaF.js} +3 -3
- package/dist/{Popconfirm-BgV6a0sl.js.map → Popconfirm-DwLCYNaF.js.map} +1 -1
- package/dist/{Popover-BU7nGOv-.js → Popover-DtUDwUVO.js} +24 -37
- package/dist/Popover-DtUDwUVO.js.map +1 -0
- package/dist/{RadioGroup-C2vk5acr.js → RadioGroup-B0TwHjBb.js} +9 -13
- package/dist/RadioGroup-B0TwHjBb.js.map +1 -0
- package/dist/{Search-CVrv3hqf.js → Search-vyZwGKMU.js} +3 -3
- package/dist/{Search-CVrv3hqf.js.map → Search-vyZwGKMU.js.map} +1 -1
- package/dist/{SearchInput-BnU6YHgT.js → SearchInput-DyYXyw3u.js} +4 -6
- package/dist/SearchInput-DyYXyw3u.js.map +1 -0
- package/dist/{SectionNav-XlhvXXdF.js → SectionNav-tLK3iF6c.js} +5 -5
- package/dist/{SectionNav-XlhvXXdF.js.map → SectionNav-tLK3iF6c.js.map} +1 -1
- package/dist/{Select-CjQgU_6K.js → Select-B22hB_-w.js} +11 -25
- package/dist/Select-B22hB_-w.js.map +1 -0
- package/dist/{Sheet-utw4_rUa.js → Sheet-0TWKTqid.js} +12 -15
- package/dist/Sheet-0TWKTqid.js.map +1 -0
- package/dist/{Sidebar-CKaxOPwY.js → Sidebar-C5hdANBU.js} +11 -11
- package/dist/Sidebar-C5hdANBU.js.map +1 -0
- package/dist/{Slider-Rcc2qVct.js → Slider-DrcsM8_G.js} +4 -4
- package/dist/Slider-DrcsM8_G.js.map +1 -0
- package/dist/{Stepper-BBPembeK.js → Stepper-CQrUPVFL.js} +2 -2
- package/dist/Stepper-CQrUPVFL.js.map +1 -0
- package/dist/Switch-DccpSpzC.js +66 -0
- package/dist/Switch-DccpSpzC.js.map +1 -0
- package/dist/{Table-CgSC-fSo.js → Table-CilEvpMq.js} +62 -3
- package/dist/Table-CilEvpMq.js.map +1 -0
- package/dist/{Tabs-C0uvkPHc.js → Tabs-Ck4uWf8U.js} +2 -2
- package/dist/{Tabs-C0uvkPHc.js.map → Tabs-Ck4uWf8U.js.map} +1 -1
- package/dist/{TextInput-B5TDDOty.js → TextInput-CR0_USaY.js} +4 -7
- package/dist/TextInput-CR0_USaY.js.map +1 -0
- package/dist/{ThemeProvider-Dt9b67sW.js → ThemeProvider-BTK7AL-T.js} +21 -8
- package/dist/ThemeProvider-BTK7AL-T.js.map +1 -0
- package/dist/{TimePicker-DyyV3nw8.js → TimePicker-CoRpiEM3.js} +2 -2
- package/dist/{TimePicker-DyyV3nw8.js.map → TimePicker-CoRpiEM3.js.map} +1 -1
- package/dist/{Toast-BGnUL4jV.js → Toast-937n7n8i.js} +2 -2
- package/dist/{Toast-BGnUL4jV.js.map → Toast-937n7n8i.js.map} +1 -1
- package/dist/ToggleAllTooltip-DEjbWFoj.js +37 -0
- package/dist/ToggleAllTooltip-DEjbWFoj.js.map +1 -0
- package/dist/{ZoomableSvg-D8sXKpoV.js → ZoomableSvg-DnFXo2L4.js} +85 -81
- package/dist/ZoomableSvg-DnFXo2L4.js.map +1 -0
- package/dist/editors.js +4 -4
- package/dist/flint.js +10 -45
- package/dist/flint.js.map +1 -1
- package/dist/highlightCode-D354tCXO.js +81 -0
- package/dist/highlightCode-D354tCXO.js.map +1 -0
- package/dist/index.d.ts +843 -443
- package/dist/index.js +62 -63
- package/dist/internal/blocks/AIKit.js +2 -2
- package/dist/internal/blocks/AppShell.js +1 -1
- package/dist/internal/blocks/AuthLayout.js +1 -1
- package/dist/internal/blocks/AutoSaveTextarea.js +1 -1
- package/dist/internal/blocks/BrandEditor.js +1 -1
- package/dist/internal/blocks/ChartPanel.js +1 -1
- package/dist/internal/blocks/ChipEditor.js +5 -9
- package/dist/internal/blocks/ChipEditor.js.map +1 -1
- package/dist/internal/blocks/ClipboardButton.js +1 -1
- package/dist/internal/blocks/ColorInput.js +1 -1
- package/dist/internal/blocks/ColorModeSwitch.js +1 -1
- package/dist/internal/blocks/Command.js +1 -1
- package/dist/internal/blocks/CopyField.js +1 -1
- package/dist/internal/blocks/DateInput.js +1 -1
- package/dist/internal/blocks/DateRangeInput.js +1 -1
- package/dist/internal/blocks/DiagramShared/DiagramSkeleton.js.map +1 -1
- package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
- package/dist/internal/blocks/ErrorState.js +18 -29
- package/dist/internal/blocks/ErrorState.js.map +1 -1
- package/dist/internal/blocks/ExportMenu.js +3 -3
- package/dist/internal/blocks/ExportMenu.js.map +1 -1
- package/dist/internal/blocks/Form/connectors/ComboboxField.js +2 -2
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
- package/dist/internal/blocks/Form.js +1 -1
- package/dist/internal/blocks/FormGroup.js +1 -1
- package/dist/internal/blocks/InlineEdit.js +1 -1
- package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
- package/dist/internal/blocks/MultiCombobox.js +202 -70
- package/dist/internal/blocks/MultiCombobox.js.map +1 -1
- package/dist/internal/blocks/NumberInput.js +2 -4
- package/dist/internal/blocks/NumberInput.js.map +1 -1
- package/dist/internal/blocks/PageToolbar.js +1 -1
- package/dist/internal/blocks/PasswordInput.js +3 -5
- package/dist/internal/blocks/PasswordInput.js.map +1 -1
- package/dist/internal/blocks/SearchInput.js +1 -1
- package/dist/internal/blocks/SearchInputWithNavigation.js +6 -7
- package/dist/internal/blocks/SearchInputWithNavigation.js.map +1 -1
- package/dist/internal/blocks/SectionNav.js +1 -1
- package/dist/internal/blocks/SplitButton.js +2 -2
- package/dist/internal/blocks/StatCard.js +1 -1
- package/dist/internal/blocks/TextInput.js +1 -1
- package/dist/internal/blocks/Textarea.js +3 -8
- package/dist/internal/blocks/Textarea.js.map +1 -1
- package/dist/internal/blocks/TimeInput.js +4 -6
- package/dist/internal/blocks/TimeInput.js.map +1 -1
- package/dist/internal/components/Alert.js +1 -1
- package/dist/internal/components/AlertModal.js +1 -1
- package/dist/internal/components/Avatar.js +1 -1
- package/dist/internal/components/Badge.js +1 -1
- package/dist/internal/components/BrandLogo.js +1 -1
- package/dist/internal/components/Breadcrumb.js +1 -1
- package/dist/internal/components/Button.js +2 -2
- package/dist/internal/components/ButtonGroup.js +1 -1
- package/dist/internal/components/ButtonGroup.js.map +1 -1
- package/dist/internal/components/Card.js +1 -1
- package/dist/internal/components/Checkbox.js +1 -1
- package/dist/internal/components/Clipboard.js +1 -1
- package/dist/internal/components/CollapsiblePanel.js +1 -1
- package/dist/internal/components/Combobox.js +1 -1
- package/dist/internal/components/DatePicker.js +1 -1
- package/dist/internal/components/DateRangePicker.js +1 -1
- package/dist/internal/components/DropdownMenu.js +1 -1
- package/dist/internal/components/FileUpload.js +1 -1
- package/dist/internal/components/FullScreenModal.js +1 -1
- package/dist/internal/components/HoverCard.js +1 -1
- package/dist/internal/components/InputGroup.js +1 -1
- package/dist/internal/components/Kbd.js +1 -1
- package/dist/internal/components/Modal.js +1 -1
- package/dist/internal/components/Navbar.js +1 -1
- package/dist/internal/components/Pagination.js +1 -1
- package/dist/internal/components/Popconfirm.js +1 -1
- package/dist/internal/components/Popover.js +1 -1
- package/dist/internal/components/RadioGroup.js +1 -1
- package/dist/internal/components/Search.js +1 -1
- package/dist/internal/components/Select.js +1 -1
- package/dist/internal/components/Sheet.js +1 -1
- package/dist/internal/components/Sidebar.js +1 -1
- package/dist/internal/components/Skeleton/Skeleton.js +2 -2
- package/dist/internal/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/internal/components/Slider.js +1 -1
- package/dist/internal/components/Stepper.js +1 -1
- package/dist/internal/components/Switch.js +1 -1
- package/dist/internal/components/Table.js +1 -1
- package/dist/internal/components/Tabs.js +1 -1
- package/dist/internal/components/ThemeProvider.js +3 -4
- package/dist/internal/components/TimePicker.js +1 -1
- package/dist/internal/components/Toast.js +2 -2
- package/dist/internal/components/Toggle.js +13 -3
- package/dist/internal/components/Toggle.js.map +1 -1
- package/dist/internal/components/Tooltip.js +1 -1
- package/dist/internal/components/Truncated.js +1 -1
- package/dist/internal/components/ZoomableSvg.js +1 -1
- package/dist/internal/utils.js +1 -1
- package/dist/markdown-editor.js +16 -18
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.d.ts +1 -2
- package/dist/mermaid.js +1 -1
- package/dist/rjsf.js +121 -43
- package/dist/rjsf.js.map +1 -1
- package/dist/styles-DxazJ8Mz.js +81 -0
- package/dist/styles-DxazJ8Mz.js.map +1 -0
- package/dist/styles-T8xwr0sR.js +73 -0
- package/dist/styles-T8xwr0sR.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/svgCache-Dhmbe-7i.js +26 -0
- package/dist/svgCache-Dhmbe-7i.js.map +1 -0
- package/dist/svgTransforms-Hnvev3Vs.js +38 -0
- package/dist/svgTransforms-Hnvev3Vs.js.map +1 -0
- package/dist/testing.d.ts +0 -2
- package/dist/testing.js +3 -10
- package/dist/testing.js.map +1 -1
- package/dist/{useColorSchemeState-Cw4MCXUs.js → themeScopeContext-CEVXbYvZ.js} +43 -15
- package/dist/themeScopeContext-CEVXbYvZ.js.map +1 -0
- package/dist/{useThemeAttributes-B199Regy.js → themeTokens-DCeb62ap.js} +22 -4
- package/dist/themeTokens-DCeb62ap.js.map +1 -0
- package/dist/{toast-D6Z6MOB5.js → toast-Y3cTMBW8.js} +7 -10
- package/dist/toast-Y3cTMBW8.js.map +1 -0
- package/dist/{utils-p6tjltbX.js → utils-DwC9u0tM.js} +39 -49
- package/dist/utils-DwC9u0tM.js.map +1 -0
- package/dist/vega.js +2 -2
- package/dist/vegaTheme-ISwGXvof.js +49 -0
- package/dist/vegaTheme-ISwGXvof.js.map +1 -0
- package/dist/{vegaTheme-VQMWTlBw.js → vegaTokens-DCkvpIVE.js} +36 -44
- package/dist/vegaTokens-DCkvpIVE.js.map +1 -0
- package/package.json +3 -4
- package/src/styles.css +4 -39
- package/src/theme.css +42 -0
- package/dist/AIKit-C5FbKjwa.js.map +0 -1
- package/dist/Alert-DuAGeYyM.js.map +0 -1
- package/dist/AlertModal-BDle9ZVQ.js.map +0 -1
- package/dist/AutoSaveTextarea-jiqNeeE4.js.map +0 -1
- package/dist/Badge-Ba3epgcI.js.map +0 -1
- package/dist/BrandEditor-Dq168RJc.js.map +0 -1
- package/dist/Breadcrumb-CUyYu5Bi.js.map +0 -1
- package/dist/Button-D2JqBAq7.js.map +0 -1
- package/dist/Card-Bpc_ZlL4.js.map +0 -1
- package/dist/Checkbox-D9rafoKh.js.map +0 -1
- package/dist/CodeEditor-Y0iE-SwV.js.map +0 -1
- package/dist/ColorInput-D1nC0X6i.js.map +0 -1
- package/dist/Combobox-B1Kjoy5J.js.map +0 -1
- package/dist/Command-BuOA3V18.js.map +0 -1
- package/dist/DateInput-BlKkequE.js.map +0 -1
- package/dist/DateRangeInput-DOxJHw8V.js.map +0 -1
- package/dist/DateRangePicker-CXpXPMoh.js.map +0 -1
- package/dist/DiagramSource-jTwmmi9g.js +0 -11
- package/dist/DiagramSource-jTwmmi9g.js.map +0 -1
- package/dist/DropdownMenu-DtRYcKEx.js.map +0 -1
- package/dist/FileUpload-D6vPG3WB.js.map +0 -1
- package/dist/FullScreenModal-CUuAakh3.js.map +0 -1
- package/dist/HoverCard-Cy6nhg4u.js +0 -31
- package/dist/HoverCard-Cy6nhg4u.js.map +0 -1
- package/dist/InlineEdit-DSMIEUUa.js.map +0 -1
- package/dist/InputGroup-Dm014ruw.js.map +0 -1
- package/dist/Kbd-Du93F3o4.js.map +0 -1
- package/dist/MermaidDiagram-D2ThT8Q-.js +0 -302
- package/dist/MermaidDiagram-D2ThT8Q-.js.map +0 -1
- package/dist/Modal-DQIauzar.js.map +0 -1
- package/dist/Popover-BU7nGOv-.js.map +0 -1
- package/dist/RadioGroup-C2vk5acr.js.map +0 -1
- package/dist/SearchInput-BnU6YHgT.js.map +0 -1
- package/dist/Select-CjQgU_6K.js.map +0 -1
- package/dist/Sheet-utw4_rUa.js.map +0 -1
- package/dist/Sidebar-CKaxOPwY.js.map +0 -1
- package/dist/Slider-Rcc2qVct.js.map +0 -1
- package/dist/Stepper-BBPembeK.js.map +0 -1
- package/dist/Switch-Dw4tvQls.js +0 -201
- package/dist/Switch-Dw4tvQls.js.map +0 -1
- package/dist/Table-CgSC-fSo.js.map +0 -1
- package/dist/TextInput-B5TDDOty.js.map +0 -1
- package/dist/ThemeProvider-Dt9b67sW.js.map +0 -1
- package/dist/ZoomableSvg-D8sXKpoV.js.map +0 -1
- package/dist/context-U293r3v-.js +0 -29
- package/dist/context-U293r3v-.js.map +0 -1
- package/dist/defaults-i_xG2F_1.js +0 -32
- package/dist/defaults-i_xG2F_1.js.map +0 -1
- package/dist/styles-BDA5rQz3.js +0 -127
- package/dist/styles-BDA5rQz3.js.map +0 -1
- package/dist/styles-YQdM7G8c.js +0 -159
- package/dist/styles-YQdM7G8c.js.map +0 -1
- package/dist/svgTransforms-Dw2hRA-i.js +0 -51
- package/dist/svgTransforms-Dw2hRA-i.js.map +0 -1
- package/dist/themeTokens-7DEab0kp.js +0 -31
- package/dist/themeTokens-7DEab0kp.js.map +0 -1
- package/dist/toast-D6Z6MOB5.js.map +0 -1
- package/dist/useColorSchemeState-Cw4MCXUs.js.map +0 -1
- package/dist/useThemeAttributes-B199Regy.js.map +0 -1
- package/dist/utils-p6tjltbX.js.map +0 -1
- package/dist/vegaTheme-VQMWTlBw.js.map +0 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SERIES_TOKENS, createVegaColorResolver } from "./vegaTokens-DCkvpIVE.js";
|
|
2
|
+
//#region src/vega/vegaTheme.ts
|
|
3
|
+
const CHART_FONT = "Inter, system-ui, sans-serif";
|
|
4
|
+
/**
|
|
5
|
+
* The design system's Vega-Lite chart look, following scheme and brand.
|
|
6
|
+
*
|
|
7
|
+
* - `range.category` is `--chart-1..5`, the same palette as `@keboola/design/charts`.
|
|
8
|
+
* - A range set on the spec's own scale still wins (Flint charts rely on it).
|
|
9
|
+
* - Colours are concrete `rgb()` strings — vega never reads the stylesheet — so rebuild on a
|
|
10
|
+
* scheme or brand change; `useVegaTheme` does.
|
|
11
|
+
*/
|
|
12
|
+
const vegaTheme = (scheme, from) => {
|
|
13
|
+
const token = createVegaColorResolver(scheme, from);
|
|
14
|
+
const label = token("muted-foreground");
|
|
15
|
+
const heading = token("foreground");
|
|
16
|
+
const line = token("border");
|
|
17
|
+
return {
|
|
18
|
+
background: "transparent",
|
|
19
|
+
font: CHART_FONT,
|
|
20
|
+
axis: {
|
|
21
|
+
labelColor: label,
|
|
22
|
+
titleColor: heading,
|
|
23
|
+
gridColor: token("border", .6),
|
|
24
|
+
domainColor: line,
|
|
25
|
+
tickColor: line
|
|
26
|
+
},
|
|
27
|
+
legend: {
|
|
28
|
+
labelColor: label,
|
|
29
|
+
titleColor: heading
|
|
30
|
+
},
|
|
31
|
+
header: {
|
|
32
|
+
labelColor: label,
|
|
33
|
+
titleColor: heading
|
|
34
|
+
},
|
|
35
|
+
title: {
|
|
36
|
+
color: heading,
|
|
37
|
+
subtitleColor: label
|
|
38
|
+
},
|
|
39
|
+
text: { color: heading },
|
|
40
|
+
range: {
|
|
41
|
+
category: SERIES_TOKENS.map((name) => token(name)),
|
|
42
|
+
ramp: [token("accent"), token("chart-1")]
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { vegaTheme };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=vegaTheme-ISwGXvof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vegaTheme-ISwGXvof.js","names":[],"sources":["../src/vega/vegaTheme.ts"],"sourcesContent":["import type { Config } from 'vega-lite';\n\nimport type { ResolvedColorScheme } from '../components/ThemeProvider/types';\n\nimport { createVegaColorResolver, SERIES_TOKENS } from './vegaTokens';\n\nconst CHART_FONT = 'Inter, system-ui, sans-serif';\n\n/**\n * The design system's Vega-Lite chart look, following scheme and brand.\n *\n * - `range.category` is `--chart-1..5`, the same palette as `@keboola/design/charts`.\n * - A range set on the spec's own scale still wins (Flint charts rely on it).\n * - Colours are concrete `rgb()` strings — vega never reads the stylesheet — so rebuild on a\n * scheme or brand change; `useVegaTheme` does.\n */\nexport const vegaTheme = (scheme: ResolvedColorScheme, from?: Element | null): Config => {\n const token = createVegaColorResolver(scheme, from);\n\n const label = token('muted-foreground');\n const heading = token('foreground');\n const line = token('border');\n\n return {\n background: 'transparent',\n font: CHART_FONT,\n axis: {\n labelColor: label,\n titleColor: heading,\n gridColor: token('border', 0.6),\n domainColor: line,\n tickColor: line,\n },\n legend: { labelColor: label, titleColor: heading },\n header: { labelColor: label, titleColor: heading },\n title: { color: heading, subtitleColor: label },\n text: { color: heading },\n range: {\n category: SERIES_TOKENS.map((name) => token(name)),\n ramp: [token('accent'), token('chart-1')],\n },\n };\n};\n"],"mappings":";;AAMA,MAAM,aAAa;;;;;;;;;AAUnB,MAAa,aAAa,QAA6B,SAAkC;CACvF,MAAM,QAAQ,wBAAwB,QAAQ,IAAI;CAElD,MAAM,QAAQ,MAAM,kBAAkB;CACtC,MAAM,UAAU,MAAM,YAAY;CAClC,MAAM,OAAO,MAAM,QAAQ;CAE3B,OAAO;EACL,YAAY;EACZ,MAAM;EACN,MAAM;GACJ,YAAY;GACZ,YAAY;GACZ,WAAW,MAAM,UAAU,EAAG;GAC9B,aAAa;GACb,WAAW;EACb;EACA,QAAQ;GAAE,YAAY;GAAO,YAAY;EAAQ;EACjD,QAAQ;GAAE,YAAY;GAAO,YAAY;EAAQ;EACjD,OAAO;GAAE,OAAO;GAAS,eAAe;EAAM;EAC9C,MAAM,EAAE,OAAO,QAAQ;EACvB,OAAO;GACL,UAAU,cAAc,KAAK,SAAS,MAAM,IAAI,CAAC;GACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;EAC1C;CACF;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createChannelResolver } from "./themeTokens-
|
|
1
|
+
import { createChannelResolver } from "./themeTokens-DCeb62ap.js";
|
|
2
2
|
//#region src/vega/vegaTokens.ts
|
|
3
3
|
/**
|
|
4
4
|
* Serializes `"R G B"` channels comma-separated, the only form vega parses.
|
|
@@ -67,6 +67,18 @@ const FALLBACK_CHANNELS = {
|
|
|
67
67
|
card: {
|
|
68
68
|
light: "255 255 255",
|
|
69
69
|
dark: "34 34 40"
|
|
70
|
+
},
|
|
71
|
+
muted: {
|
|
72
|
+
light: "241 245 249",
|
|
73
|
+
dark: "38 38 45"
|
|
74
|
+
},
|
|
75
|
+
primary: {
|
|
76
|
+
light: "37 99 235",
|
|
77
|
+
dark: "31 143 255"
|
|
78
|
+
},
|
|
79
|
+
destructive: {
|
|
80
|
+
light: "220 38 38",
|
|
81
|
+
dark: "229 72 77"
|
|
70
82
|
}
|
|
71
83
|
};
|
|
72
84
|
/**
|
|
@@ -81,52 +93,32 @@ const createVegaColorResolver = (scheme, from) => {
|
|
|
81
93
|
const resolve = createChannelResolver(from);
|
|
82
94
|
return (token, alpha) => vegaRgb(resolve(token, FALLBACK_CHANNELS[token][scheme]), alpha);
|
|
83
95
|
};
|
|
84
|
-
//#endregion
|
|
85
|
-
//#region src/vega/vegaTheme.ts
|
|
86
|
-
const CHART_FONT = "Inter, system-ui, sans-serif";
|
|
87
96
|
/**
|
|
88
|
-
*
|
|
97
|
+
* How the second palette tier (series 6-10) is derived from the core hues.
|
|
89
98
|
*
|
|
90
|
-
* -
|
|
91
|
-
*
|
|
92
|
-
* -
|
|
93
|
-
* scheme or brand change; `useVegaTheme` does.
|
|
99
|
+
* - Each hue moves *away* from its surface: darker on light, lighter on dark.
|
|
100
|
+
* Darkening on dark would drop contrast from ~6.7:1 to ~3.7:1.
|
|
101
|
+
* - `amount` is the fraction of the distance travelled toward `towards`.
|
|
94
102
|
*/
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
titleColor: heading
|
|
113
|
-
},
|
|
114
|
-
header: {
|
|
115
|
-
labelColor: label,
|
|
116
|
-
titleColor: heading
|
|
117
|
-
},
|
|
118
|
-
title: {
|
|
119
|
-
color: heading,
|
|
120
|
-
subtitleColor: label
|
|
121
|
-
},
|
|
122
|
-
text: { color: heading },
|
|
123
|
-
range: {
|
|
124
|
-
category: SERIES_TOKENS.map((name) => token(name)),
|
|
125
|
-
ramp: [token("accent"), token("chart-1")]
|
|
126
|
-
}
|
|
127
|
-
};
|
|
103
|
+
const TIER_TWO_SHIFT = {
|
|
104
|
+
light: {
|
|
105
|
+
towards: 0,
|
|
106
|
+
amount: .38
|
|
107
|
+
},
|
|
108
|
+
dark: {
|
|
109
|
+
towards: 255,
|
|
110
|
+
amount: .35
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
/** A series colour's second-tier variant; an input not shaped like `rgb()` comes back unchanged. */
|
|
114
|
+
const tierTwoColour = (colour, scheme) => {
|
|
115
|
+
const channels = colour.match(/\d+/g);
|
|
116
|
+
if (!channels || channels.length < 3) return colour;
|
|
117
|
+
const { towards, amount } = TIER_TWO_SHIFT[scheme];
|
|
118
|
+
const shifted = channels.slice(0, 3).map((c) => Math.round(Number(c) + (towards - Number(c)) * amount));
|
|
119
|
+
return vegaRgb(shifted.join(" "));
|
|
128
120
|
};
|
|
129
121
|
//#endregion
|
|
130
|
-
export { SERIES_TOKENS, createVegaColorResolver,
|
|
122
|
+
export { SERIES_TOKENS, createVegaColorResolver, tierTwoColour };
|
|
131
123
|
|
|
132
|
-
//# sourceMappingURL=
|
|
124
|
+
//# sourceMappingURL=vegaTokens-DCkvpIVE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vegaTokens-DCkvpIVE.js","names":[],"sources":["../src/vega/vegaTokens.ts"],"sourcesContent":["import type { ResolvedColorScheme } from '../components/ThemeProvider/types';\nimport { createChannelResolver } from '../utils/themeTokens';\n\n/**\n * Serializes `\"R G B\"` channels comma-separated, the only form vega parses.\n *\n * - vega reads colours through d3-color 3.1, which answers `null` for the\n * space-separated CSS Color 4 form the rest of the package emits.\n * - A flat fill survives that anyway — the string reaches the SVG attribute and\n * the browser parses it. An interpolated one does not: both endpoints of a\n * sequential ramp collapse, and a quantitative scale paints solid black.\n */\nconst vegaRgb = (channels: string, alpha?: number): string => {\n const c = channels.split(/\\s+/).join(', ');\n return alpha === undefined ? `rgb(${c})` : `rgba(${c}, ${alpha})`;\n};\n\n/** The `--chart-*` slots, in series order. */\nexport const SERIES_TOKENS = ['chart-1', 'chart-2', 'chart-3', 'chart-4', 'chart-5'] as const;\n\n/**\n * Fallback channels for the tokens a vega chart reads, mirroring the `:root` /\n * `[data-theme='dark']` blocks of `styles.css`. The resolver reaches these only\n * when the live custom property is missing — SSR, or a unit test that loads no\n * CSS.\n */\nconst FALLBACK_CHANNELS = {\n foreground: { light: '30 41 59', dark: '229 230 236' },\n 'muted-foreground': { light: '100 116 139', dark: '141 144 153' },\n border: { light: '229 231 235', dark: '52 53 62' },\n 'chart-1': { light: '31 143 255', dark: '92 173 255' },\n 'chart-2': { light: '0 194 135', dark: '0 230 161' },\n 'chart-3': { light: '146 92 255', dark: '173 133 255' },\n 'chart-4': { light: '245 147 0', dark: '255 190 92' },\n 'chart-5': { light: '237 94 223', dark: '242 140 232' },\n // The sequential ramp's low end and the surface it must stay legible against.\n accent: { light: '224 242 254', dark: '30 58 95' },\n card: { light: '255 255 255', dark: '34 34 40' },\n // Diagram surfaces and accents (`MermaidDiagram`).\n muted: { light: '241 245 249', dark: '38 38 45' },\n primary: { light: '37 99 235', dark: '31 143 255' },\n destructive: { light: '220 38 38', dark: '229 72 77' },\n} as const;\n\nexport type VegaTokenName = keyof typeof FALLBACK_CHANNELS;\n\n/**\n * A vega-serializing token resolver bound to one `getComputedStyle` snapshot.\n *\n * - Answers `rgb(R, G, B)` / `rgba(R, G, B, a)` — see {@link vegaRgb}.\n * - Falls back per scheme when the custom property is not painted.\n * - Build one per palette, never at module level: the values change whenever\n * the scheme or the brand does.\n */\nexport const createVegaColorResolver = (scheme: ResolvedColorScheme, from?: Element | null) => {\n const resolve = createChannelResolver(from);\n\n return (token: VegaTokenName, alpha?: number): string =>\n vegaRgb(resolve(token, FALLBACK_CHANNELS[token][scheme]), alpha);\n};\n\n/**\n * How the second palette tier (series 6-10) is derived from the core hues.\n *\n * - Each hue moves *away* from its surface: darker on light, lighter on dark.\n * Darkening on dark would drop contrast from ~6.7:1 to ~3.7:1.\n * - `amount` is the fraction of the distance travelled toward `towards`.\n */\nconst TIER_TWO_SHIFT = {\n light: { towards: 0, amount: 0.38 },\n dark: { towards: 255, amount: 0.35 },\n} as const;\n\n/** A series colour's second-tier variant; an input not shaped like `rgb()` comes back unchanged. */\nexport const tierTwoColour = (colour: string, scheme: ResolvedColorScheme): string => {\n const channels = colour.match(/\\d+/g);\n if (!channels || channels.length < 3) return colour;\n const { towards, amount } = TIER_TWO_SHIFT[scheme];\n const shifted = channels\n .slice(0, 3)\n .map((c) => Math.round(Number(c) + (towards - Number(c)) * amount));\n return vegaRgb(shifted.join(' '));\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,WAAW,UAAkB,UAA2B;CAC5D,MAAM,IAAI,SAAS,MAAM,KAAK,CAAC,CAAC,KAAK,IAAI;CACzC,OAAO,UAAU,KAAA,IAAY,OAAO,EAAE,KAAK,QAAQ,EAAE,IAAI,MAAM;AACjE;;AAGA,MAAa,gBAAgB;CAAC;CAAW;CAAW;CAAW;CAAW;AAAS;;;;;;;AAQnF,MAAM,oBAAoB;CACxB,YAAY;EAAE,OAAO;EAAY,MAAM;CAAc;CACrD,oBAAoB;EAAE,OAAO;EAAe,MAAM;CAAc;CAChE,QAAQ;EAAE,OAAO;EAAe,MAAM;CAAW;CACjD,WAAW;EAAE,OAAO;EAAc,MAAM;CAAa;CACrD,WAAW;EAAE,OAAO;EAAa,MAAM;CAAY;CACnD,WAAW;EAAE,OAAO;EAAc,MAAM;CAAc;CACtD,WAAW;EAAE,OAAO;EAAa,MAAM;CAAa;CACpD,WAAW;EAAE,OAAO;EAAc,MAAM;CAAc;CAEtD,QAAQ;EAAE,OAAO;EAAe,MAAM;CAAW;CACjD,MAAM;EAAE,OAAO;EAAe,MAAM;CAAW;CAE/C,OAAO;EAAE,OAAO;EAAe,MAAM;CAAW;CAChD,SAAS;EAAE,OAAO;EAAa,MAAM;CAAa;CAClD,aAAa;EAAE,OAAO;EAAa,MAAM;CAAY;AACvD;;;;;;;;;AAYA,MAAa,2BAA2B,QAA6B,SAA0B;CAC7F,MAAM,UAAU,sBAAsB,IAAI;CAE1C,QAAQ,OAAsB,UAC5B,QAAQ,QAAQ,OAAO,kBAAkB,MAAM,CAAC,OAAO,GAAG,KAAK;AACnE;;;;;;;;AASA,MAAM,iBAAiB;CACrB,OAAO;EAAE,SAAS;EAAG,QAAQ;CAAK;CAClC,MAAM;EAAE,SAAS;EAAK,QAAQ;CAAK;AACrC;;AAGA,MAAa,iBAAiB,QAAgB,WAAwC;CACpF,MAAM,WAAW,OAAO,MAAM,MAAM;CACpC,IAAI,CAAC,YAAY,SAAS,SAAS,GAAG,OAAO;CAC7C,MAAM,EAAE,SAAS,WAAW,eAAe;CAC3C,MAAM,UAAU,SACb,MAAM,GAAG,CAAC,CAAC,CACX,KAAK,MAAM,KAAK,MAAM,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,CAAC;CACpE,OAAO,QAAQ,QAAQ,KAAK,GAAG,CAAC;AAClC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keboola/design",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.0",
|
|
4
4
|
"description": "Keboola UI platform design system — shadcn-aligned React primitives, Keboola-branded blocks, and the form bindings built on TanStack Form.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
"@codemirror/state": "^6.7.1",
|
|
195
195
|
"@codemirror/view": "^6.43.9",
|
|
196
196
|
"@iconify-json/lucide": "^1.2.118",
|
|
197
|
-
"@keboola/brand-registry": "^
|
|
197
|
+
"@keboola/brand-registry": "^3.0.0",
|
|
198
198
|
"@keboola/codemirror-lang-sql": "^0.7.3",
|
|
199
199
|
"@keboola/tailwind-config": "^1.2.0",
|
|
200
200
|
"@lexical/code": "^0.42.0",
|
|
@@ -236,7 +236,6 @@
|
|
|
236
236
|
"@testing-library/jest-dom": "^7.0.1",
|
|
237
237
|
"@uiw/codemirror-theme-github": "^4.25.11",
|
|
238
238
|
"@uiw/react-codemirror": "^4.25.11",
|
|
239
|
-
"beautiful-mermaid": "^1.1.3",
|
|
240
239
|
"boring-avatars": "^2.0.4",
|
|
241
240
|
"class-variance-authority": "^0.7.1",
|
|
242
241
|
"clsx": "^2.1.1",
|
|
@@ -247,8 +246,8 @@
|
|
|
247
246
|
"input-otp": "^1.4.2",
|
|
248
247
|
"lexical": "^0.42.0",
|
|
249
248
|
"lucide-react": "^1.17.0",
|
|
250
|
-
"mermaid": "^11.17.2",
|
|
251
249
|
"node-diff3": "^3.2.0",
|
|
250
|
+
"pele": "^1.6.0",
|
|
252
251
|
"react-day-picker": "^10.0.1",
|
|
253
252
|
"react-dropzone": "^14.2.3",
|
|
254
253
|
"react-markdown": "^10.1.0",
|
package/src/styles.css
CHANGED
|
@@ -284,10 +284,10 @@
|
|
|
284
284
|
a sticky table header it read as a glowing seam. `--shadow-table` is softer than
|
|
285
285
|
`--shadow-raised` because the header casts a full-width band.
|
|
286
286
|
|
|
287
|
-
Reaches rules that read `var(--shadow-table)` / `var(--shadow-card)` directly,
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
287
|
+
Reaches only rules that read `var(--shadow-table)` / `var(--shadow-card)` directly,
|
|
288
|
+
and no rule in this repo does. It does NOT reach the `shadow-table` / `shadow-card`
|
|
289
|
+
Tailwind utilities: those are `@theme` tokens (theme.css), so v4 inlines the light
|
|
290
|
+
literal into the generated class at build time. Making the
|
|
291
291
|
utilities scheme-aware needs the token to carry a `var(--runtime, fallback)`
|
|
292
292
|
shape, which is a separate change with control-ui / boilerplate to verify against. */
|
|
293
293
|
--shadow-card: 0px 1px 4px rgb(0 0 0 / 0.4);
|
|
@@ -436,39 +436,6 @@
|
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
438
|
|
|
439
|
-
/* Legacy (dark) tooltip chrome — invert nested prose for contrast. Must live in
|
|
440
|
-
* `utilities`: `.tw\:prose` declares the same `--tw-prose-*` variables from that
|
|
441
|
-
* layer, and the layer order at the top of this file makes `utilities` win over
|
|
442
|
-
* `components` regardless of specificity. */
|
|
443
|
-
@layer utilities {
|
|
444
|
-
[data-tooltip-content='true'] .tw\:prose {
|
|
445
|
-
@apply tw:prose-invert;
|
|
446
|
-
|
|
447
|
-
/* Typography's own `a`/`code` rules are `:where()`-wrapped (specificity 0), so
|
|
448
|
-
* the inverted variables never reach a link rendered by design's `Link`
|
|
449
|
-
* (`tw:text-primary`) nor an inline-code background a host's global CSS paints. */
|
|
450
|
-
a {
|
|
451
|
-
@apply tw:text-blue-300 tw:hover:text-blue-200;
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
/* Inline code only — scoped the way AIKit's markdown prose does it
|
|
455
|
-
* (`tw:[&_:not(pre)>code]:…` in `blocks/AIKit/Markdown.tsx`) so a fenced
|
|
456
|
-
* block's `pre > code` keeps `--tw-prose-invert-pre-bg`. */
|
|
457
|
-
:not(pre) > code {
|
|
458
|
-
@apply tw:bg-white/10 tw:text-neutral-100;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
/* `.tw\:prose blockquote` (components layer, below) fills with the light
|
|
462
|
-
* `--muted`; on the dark tooltip that would put the now-inverted light text
|
|
463
|
-
* on a light fill. Re-fill with the same `white/10` wash the inline-code
|
|
464
|
-
* chip uses — the file's one translucent-overlay idiom, and the only fill
|
|
465
|
-
* that works against a fixed `bg-neutral-800` without a second token. */
|
|
466
|
-
blockquote {
|
|
467
|
-
@apply tw:bg-white/10;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
|
|
472
439
|
@layer components {
|
|
473
440
|
.tw\:prose blockquote {
|
|
474
441
|
border-left: 4px solid rgb(var(--border));
|
|
@@ -776,8 +743,6 @@
|
|
|
776
743
|
* - An `@utility` for the same reason `prose-answer` is one: it has to out-specify prose's
|
|
777
744
|
* `:where()`-wrapped `code` colour from the same layer. A rule in `components` loses on layer
|
|
778
745
|
* order and leaves the accent ink on the chip's fill.
|
|
779
|
-
* - The dark tooltip keeps its own chip: `[data-tooltip-content='true'] .tw\:prose :not(pre) > code`
|
|
780
|
-
* is `(0,2,2)` against this rule's `(0,1,2)`, both in `utilities`.
|
|
781
746
|
*/
|
|
782
747
|
@utility prose-code-chip {
|
|
783
748
|
:not(pre) > code {
|
package/src/theme.css
CHANGED
|
@@ -110,6 +110,18 @@
|
|
|
110
110
|
animation: none;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
|
|
114
|
+
/* Dark: lighter violet pool and a light shade, so a near-black label stays AA across the fill. */
|
|
115
|
+
[data-theme='dark'] & {
|
|
116
|
+
background-image:
|
|
117
|
+
radial-gradient(circle, #61e4ff 0, transparent 50%),
|
|
118
|
+
radial-gradient(circle, #a78bfa 0, transparent 50%),
|
|
119
|
+
radial-gradient(circle, #2dd4ff 0, transparent 45%);
|
|
120
|
+
|
|
121
|
+
&::before {
|
|
122
|
+
background-image: radial-gradient(closest-side, rgb(125 211 252 / 0.45), transparent 70%);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
113
125
|
}
|
|
114
126
|
|
|
115
127
|
@keyframes kai-drift {
|
|
@@ -322,6 +334,36 @@
|
|
|
322
334
|
--color-selected: var(--selected, rgb(var(--accent)));
|
|
323
335
|
--color-selected-foreground: var(--selected-foreground, rgb(var(--accent-foreground)));
|
|
324
336
|
--color-scrim: var(--scrim, rgb(0 0 0 / 0.5));
|
|
337
|
+
/* Status pastels — `bg-<intent>-subtle` + `text-<intent>-subtle-foreground`.
|
|
338
|
+
* - Each reads a full CSS colour (`--success-subtle`, …), so a brand can set its own pair.
|
|
339
|
+
* - Unset, the fill is the token at 10%; the text is the token 30% towards `foreground`.
|
|
340
|
+
* - Plain token-on-tint is under AA at 12px; the step towards `foreground` clears it in both schemes.
|
|
341
|
+
* - `neutral` has no status token; unset, it is `muted` and `muted-foreground`. */
|
|
342
|
+
--color-success-subtle: var(--success-subtle, rgb(var(--success) / 0.1));
|
|
343
|
+
--color-success-subtle-foreground: var(
|
|
344
|
+
--success-subtle-foreground,
|
|
345
|
+
color-mix(in oklab, rgb(var(--success)), rgb(var(--foreground)) 30%)
|
|
346
|
+
);
|
|
347
|
+
--color-info-subtle: var(--info-subtle, rgb(var(--info) / 0.1));
|
|
348
|
+
--color-info-subtle-foreground: var(
|
|
349
|
+
--info-subtle-foreground,
|
|
350
|
+
color-mix(in oklab, rgb(var(--info)), rgb(var(--foreground)) 30%)
|
|
351
|
+
);
|
|
352
|
+
--color-warning-subtle: var(--warning-subtle, rgb(var(--warning) / 0.1));
|
|
353
|
+
--color-warning-subtle-foreground: var(
|
|
354
|
+
--warning-subtle-foreground,
|
|
355
|
+
color-mix(in oklab, rgb(var(--warning)), rgb(var(--foreground)) 30%)
|
|
356
|
+
);
|
|
357
|
+
--color-destructive-subtle: var(--destructive-subtle, rgb(var(--destructive) / 0.1));
|
|
358
|
+
--color-destructive-subtle-foreground: var(
|
|
359
|
+
--destructive-subtle-foreground,
|
|
360
|
+
color-mix(in oklab, rgb(var(--destructive)), rgb(var(--foreground)) 30%)
|
|
361
|
+
);
|
|
362
|
+
--color-neutral-subtle: var(--neutral-subtle, rgb(var(--muted)));
|
|
363
|
+
--color-neutral-subtle-foreground: var(
|
|
364
|
+
--neutral-subtle-foreground,
|
|
365
|
+
color-mix(in oklab, rgb(var(--muted-foreground)), rgb(var(--foreground)) 30%)
|
|
366
|
+
);
|
|
325
367
|
/* The sidebar's own pair — the rail is often a different surface from the page. Unset, `sidebar-accent`. */
|
|
326
368
|
--color-sidebar-hover: var(--sidebar-hover, rgb(var(--sidebar-accent)));
|
|
327
369
|
--color-sidebar-hover-foreground: var(
|