@keboola/design 15.1.0 → 16.1.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 +6 -5
- package/CHANGELOG.md +85 -0
- package/COMPONENT-API.md +62 -61
- package/dist/{AIKit-BR6jfsdI.js → AIKit-Cf5plya2.js} +328 -210
- package/dist/AIKit-Cf5plya2.js.map +1 -0
- package/dist/{Alert-Chz6KZ7e.js → Alert-DziS8n1H.js} +12 -19
- package/dist/{Alert-Chz6KZ7e.js.map → Alert-DziS8n1H.js.map} +1 -1
- package/dist/{AlertModal-DMsn62JJ.js → AlertModal-De04fFoy.js} +14 -24
- package/dist/{AlertModal-DMsn62JJ.js.map → AlertModal-De04fFoy.js.map} +1 -1
- package/dist/{AppShell-C8V1KRr_.js → AppShell-BUa3U7-e.js} +6 -9
- package/dist/{AppShell-C8V1KRr_.js.map → AppShell-BUa3U7-e.js.map} +1 -1
- package/dist/{AutoSaveTextarea-BbMhC5Aq.js → AutoSaveTextarea-CXHOQSun.js} +4 -5
- package/dist/{AutoSaveTextarea-BbMhC5Aq.js.map → AutoSaveTextarea-CXHOQSun.js.map} +1 -1
- package/dist/{Badge-CqlOE5A2.js → Badge-CFRhducL.js} +9 -14
- package/dist/{Badge-CqlOE5A2.js.map → Badge-CFRhducL.js.map} +1 -1
- package/dist/{BrandEditor-D61pzWRq.js → BrandEditor-hiLBX7az.js} +16 -23
- package/dist/{BrandEditor-D61pzWRq.js.map → BrandEditor-hiLBX7az.js.map} +1 -1
- package/dist/{BrandLogo-DkESE19K.js → BrandLogo-Dn7hhp2c.js} +4 -5
- package/dist/{BrandLogo-DkESE19K.js.map → BrandLogo-Dn7hhp2c.js.map} +1 -1
- package/dist/{Breadcrumb-DbqvDnYl.js → Breadcrumb-uGFEIjFF.js} +17 -28
- package/dist/{Breadcrumb-DbqvDnYl.js.map → Breadcrumb-uGFEIjFF.js.map} +1 -1
- package/dist/{Button-BNkyYU8u.js → Button-DbvGzEDb.js} +24 -20
- package/dist/Button-DbvGzEDb.js.map +1 -0
- package/dist/{Calendar-BnKi1kPu.js → Calendar-lJBTETbk.js} +752 -905
- package/dist/Calendar-lJBTETbk.js.map +1 -0
- package/dist/{Card-DxjGiqH8.js → Card-VIPfOVW5.js} +8 -14
- package/dist/{Card-DxjGiqH8.js.map → Card-VIPfOVW5.js.map} +1 -1
- package/dist/{Checkbox-CHDDJyAA.js → Checkbox-B2jLlyaO.js} +6 -8
- package/dist/{Checkbox-CHDDJyAA.js.map → Checkbox-B2jLlyaO.js.map} +1 -1
- package/dist/{Clipboard-DlwVZS1P.js → Clipboard-fAkDdpEu.js} +4 -5
- package/dist/{Clipboard-DlwVZS1P.js.map → Clipboard-fAkDdpEu.js.map} +1 -1
- package/dist/{ClipboardButton-B1Hr_n_Z.js → ClipboardButton-71Ugbl8c.js} +6 -8
- package/dist/{ClipboardButton-B1Hr_n_Z.js.map → ClipboardButton-71Ugbl8c.js.map} +1 -1
- package/dist/{CodeEditor-DVSPdfdo.js → CodeEditor-D_b-ZCng.js} +19 -31
- package/dist/{CodeEditor-DVSPdfdo.js.map → CodeEditor-D_b-ZCng.js.map} +1 -1
- package/dist/{Collapsible-DD4xTL75.js → Collapsible-zsXk4Vpp.js} +5 -8
- package/dist/{Collapsible-DD4xTL75.js.map → Collapsible-zsXk4Vpp.js.map} +1 -1
- package/dist/{ColorInput-B_eZIu39.js → ColorInput-Cjr1jkvy.js} +9 -12
- package/dist/{ColorInput-B_eZIu39.js.map → ColorInput-Cjr1jkvy.js.map} +1 -1
- package/dist/{ColorModeSwitch-BlrH8jAi.js → ColorModeSwitch-CuPYnJ2V.js} +5 -6
- package/dist/{ColorModeSwitch-BlrH8jAi.js.map → ColorModeSwitch-CuPYnJ2V.js.map} +1 -1
- package/dist/{Combobox-BLqX-Tdh.js → Combobox-DYjvYgl3.js} +37 -66
- package/dist/{Combobox-BLqX-Tdh.js.map → Combobox-DYjvYgl3.js.map} +1 -1
- package/dist/{Command-DhXmqFLT.js → Command-BcTb6GsR.js} +14 -24
- package/dist/{Command-DhXmqFLT.js.map → Command-BcTb6GsR.js.map} +1 -1
- package/dist/{CopyField-D0Pg4Z0R.js → CopyField-CnwAvQz9.js} +16 -28
- package/dist/{CopyField-D0Pg4Z0R.js.map → CopyField-CnwAvQz9.js.map} +1 -1
- package/dist/{DateInput-duinbI9_.js → DateInput-DJNX7Vdx.js} +8 -10
- package/dist/{DateInput-duinbI9_.js.map → DateInput-DJNX7Vdx.js.map} +1 -1
- package/dist/{DatePicker-Cg_aG_N4.js → DatePicker-CI59gF3S.js} +4 -5
- package/dist/{DatePicker-Cg_aG_N4.js.map → DatePicker-CI59gF3S.js.map} +1 -1
- package/dist/{DateRangeInput-BYVHf9zo.js → DateRangeInput-B3g8cyS0.js} +8 -10
- package/dist/{DateRangeInput-BYVHf9zo.js.map → DateRangeInput-B3g8cyS0.js.map} +1 -1
- package/dist/{DateRangePicker-m47cSV1r.js → DateRangePicker-48yOB2qV.js} +9 -10
- package/dist/{DateRangePicker-m47cSV1r.js.map → DateRangePicker-48yOB2qV.js.map} +1 -1
- package/dist/{DiffView-Dy4z-n-1.js → DiffView-DITZdVbh.js} +7 -12
- package/dist/{DiffView-Dy4z-n-1.js.map → DiffView-DITZdVbh.js.map} +1 -1
- package/dist/{DropdownMenu-Bum99mVf.js → DropdownMenu-Ba9atqDa.js} +20 -36
- package/dist/{DropdownMenu-Bum99mVf.js.map → DropdownMenu-Ba9atqDa.js.map} +1 -1
- package/dist/{FieldBox-BrxLkY9C.js → FieldBox-DdSdJ3ZN.js} +6 -10
- package/dist/{FieldBox-BrxLkY9C.js.map → FieldBox-DdSdJ3ZN.js.map} +1 -1
- package/dist/{FieldItem-BHUqgSO1.js → FieldItem-D7eCMfMB.js} +6 -8
- package/dist/{FieldItem-BHUqgSO1.js.map → FieldItem-D7eCMfMB.js.map} +1 -1
- package/dist/{FieldItem-CPN1xjN5.d.ts → FieldItem-fqm3CNR8.d.ts} +7 -6
- package/dist/{FileUpload-BYFONpEl.js → FileUpload-DskvxhAr.js} +25 -45
- package/dist/{FileUpload-BYFONpEl.js.map → FileUpload-DskvxhAr.js.map} +1 -1
- package/dist/{Form-Dqbt_tIs.js → Form-BUNW7nlt.js} +24 -38
- package/dist/{Form-Dqbt_tIs.js.map → Form-BUNW7nlt.js.map} +1 -1
- package/dist/{FormGroup-V5kIgQRN.js → FormGroup-QJB21LKp.js} +12 -20
- package/dist/{FormGroup-V5kIgQRN.js.map → FormGroup-QJB21LKp.js.map} +1 -1
- package/dist/{FullScreenModal-DAvvlGOz.js → FullScreenModal-RzY5XxiG.js} +8 -12
- package/dist/{FullScreenModal-DAvvlGOz.js.map → FullScreenModal-RzY5XxiG.js.map} +1 -1
- package/dist/{HoverCard-Cf9iYyaW.js → HoverCard-OGWKRXJ7.js} +4 -6
- package/dist/{HoverCard-Cf9iYyaW.js.map → HoverCard-OGWKRXJ7.js.map} +1 -1
- package/dist/{InlineEdit-D4P0SvCB.js → InlineEdit-CXL0ZslO.js} +7 -8
- package/dist/{InlineEdit-D4P0SvCB.js.map → InlineEdit-CXL0ZslO.js.map} +1 -1
- package/dist/{InputGroup-CZv_7QlM.js → InputGroup-BWeanEo7.js} +9 -15
- package/dist/{InputGroup-CZv_7QlM.js.map → InputGroup-BWeanEo7.js.map} +1 -1
- package/dist/{Kbd-CflKthfu.js → Kbd-BprYCICe.js} +8 -13
- package/dist/{Kbd-CflKthfu.js.map → Kbd-BprYCICe.js.map} +1 -1
- package/dist/{MarkedText-DlmlJO0u.js → MarkedText-BrganZ_V.js} +4 -6
- package/dist/{MarkedText-DlmlJO0u.js.map → MarkedText-BrganZ_V.js.map} +1 -1
- package/dist/{MermaidDiagram-2-EuNu1i.js → MermaidDiagram-E3azndPk.js} +9 -11
- package/dist/{MermaidDiagram-2-EuNu1i.js.map → MermaidDiagram-E3azndPk.js.map} +1 -1
- package/dist/{Modal-DwuvuiUx.js → Modal-Cf_kPEBW.js} +13 -21
- package/dist/{Modal-DwuvuiUx.js.map → Modal-Cf_kPEBW.js.map} +1 -1
- package/dist/{ModalTitle-RGWwIMU6.js → ModalTitle-7vgpfc6B.js} +5 -8
- package/dist/{ModalTitle-RGWwIMU6.js.map → ModalTitle-7vgpfc6B.js.map} +1 -1
- package/dist/{MultiActionButtonGroup-Dzig87s1.js → MultiActionButtonGroup-8WQwL4UQ.js} +6 -8
- package/dist/{MultiActionButtonGroup-Dzig87s1.js.map → MultiActionButtonGroup-8WQwL4UQ.js.map} +1 -1
- package/dist/{Navbar-DHUS7XiU.js → Navbar-CRjxVboE.js} +13 -22
- package/dist/{Navbar-DHUS7XiU.js.map → Navbar-CRjxVboE.js.map} +1 -1
- package/dist/{OtpInput-CY8yCaJk.js → OtpInput-C5plPzGU.js} +7 -11
- package/dist/{OtpInput-CY8yCaJk.js.map → OtpInput-C5plPzGU.js.map} +1 -1
- package/dist/{PageHeader-CL1A6jFM.js → PageHeader-DosMyar2.js} +6 -10
- package/dist/{PageHeader-CL1A6jFM.js.map → PageHeader-DosMyar2.js.map} +1 -1
- package/dist/{PageLayout-C9aXTpqV.js → PageLayout-LcvJccOW.js} +5 -8
- package/dist/{PageLayout-C9aXTpqV.js.map → PageLayout-LcvJccOW.js.map} +1 -1
- package/dist/{PageToolbar-LKP6PiP_.js → PageToolbar-By2HznxO.js} +8 -10
- package/dist/{PageToolbar-LKP6PiP_.js.map → PageToolbar-By2HznxO.js.map} +1 -1
- package/dist/{Pagination-D27x5KmH.js → Pagination-DrXTrvfD.js} +11 -18
- package/dist/{Pagination-D27x5KmH.js.map → Pagination-DrXTrvfD.js.map} +1 -1
- package/dist/{Popconfirm-p72DiagN.js → Popconfirm-BJuDOHdv.js} +46 -25
- package/dist/Popconfirm-BJuDOHdv.js.map +1 -0
- package/dist/{Popover-DnBw5Uay.js → Popover-DhOPlWgF.js} +4 -6
- package/dist/{Popover-DnBw5Uay.js.map → Popover-DhOPlWgF.js.map} +1 -1
- package/dist/{RadioGroup-B0TwHjBb.js → RadioGroup-B9oC8P15.js} +12 -18
- package/dist/{RadioGroup-B0TwHjBb.js.map → RadioGroup-B9oC8P15.js.map} +1 -1
- package/dist/{Resizable-D8zs0kcq.js → Resizable-Co-L3qg7.js} +4 -6
- package/dist/{Resizable-D8zs0kcq.js.map → Resizable-Co-L3qg7.js.map} +1 -1
- package/dist/{Search-vyZwGKMU.js → Search-OgaNjqQM.js} +26 -21
- package/dist/Search-OgaNjqQM.js.map +1 -0
- package/dist/{SearchInput-DyYXyw3u.js → SearchInput-eLS-uvOn.js} +18 -29
- package/dist/SearchInput-eLS-uvOn.js.map +1 -0
- package/dist/{SectionNav-6hcIpZLO.js → SectionNav-L81iJBo3.js} +11 -14
- package/dist/{SectionNav-6hcIpZLO.js.map → SectionNav-L81iJBo3.js.map} +1 -1
- package/dist/{Select-C6zKeip5.js → Select-DRdkdzBp.js} +28 -25
- package/dist/{Select-C6zKeip5.js.map → Select-DRdkdzBp.js.map} +1 -1
- package/dist/{Sheet-DKG20J7W.js → Sheet-DVb4XoJ5.js} +12 -19
- package/dist/{Sheet-DKG20J7W.js.map → Sheet-DVb4XoJ5.js.map} +1 -1
- package/dist/{Sidebar-BlYqasnX.js → Sidebar-DYvodJWN.js} +43 -75
- package/dist/{Sidebar-BlYqasnX.js.map → Sidebar-DYvodJWN.js.map} +1 -1
- package/dist/{Slider-DrcsM8_G.js → Slider-B9IskDxf.js} +8 -12
- package/dist/{Slider-DrcsM8_G.js.map → Slider-B9IskDxf.js.map} +1 -1
- package/dist/{Stepper-CQrUPVFL.js → Stepper-D7VspVEt.js} +11 -19
- package/dist/{Stepper-CQrUPVFL.js.map → Stepper-D7VspVEt.js.map} +1 -1
- package/dist/{Switch-DccpSpzC.js → Switch-DONWW7ju.js} +4 -6
- package/dist/{Switch-DccpSpzC.js.map → Switch-DONWW7ju.js.map} +1 -1
- package/dist/{Table-CilEvpMq.js → Table-BwgBm3hJ.js} +12 -21
- package/dist/{Table-CilEvpMq.js.map → Table-BwgBm3hJ.js.map} +1 -1
- package/dist/{Tabs-Ck4uWf8U.js → Tabs-DmJB4l_N.js} +9 -14
- package/dist/{Tabs-Ck4uWf8U.js.map → Tabs-DmJB4l_N.js.map} +1 -1
- package/dist/{TextInput-CR0_USaY.js → TextInput--1CfZybC.js} +8 -10
- package/dist/TextInput--1CfZybC.js.map +1 -0
- package/dist/{ThemeProvider-BTK7AL-T.js → ThemeProvider-BCHllN7d.js} +8 -13
- package/dist/{ThemeProvider-BTK7AL-T.js.map → ThemeProvider-BCHllN7d.js.map} +1 -1
- package/dist/{TimePicker-lk3NGqeK.js → TimePicker-CCV3SOw5.js} +4 -6
- package/dist/{TimePicker-lk3NGqeK.js.map → TimePicker-CCV3SOw5.js.map} +1 -1
- package/dist/{Timeline-DUXgByUE.js → Timeline-EMOpTLAT.js} +8 -13
- package/dist/{Timeline-DUXgByUE.js.map → Timeline-EMOpTLAT.js.map} +1 -1
- package/dist/{Toast-937n7n8i.js → Toast-BOTINeTX.js} +4 -6
- package/dist/{Toast-937n7n8i.js.map → Toast-BOTINeTX.js.map} +1 -1
- package/dist/{ToggleAllTooltip-DEjbWFoj.js → ToggleAllTooltip-BFmA6TXf.js} +4 -6
- package/dist/{ToggleAllTooltip-DEjbWFoj.js.map → ToggleAllTooltip-BFmA6TXf.js.map} +1 -1
- package/dist/{ToggleGroup-BOz1yyz6.js → ToggleGroup-DsDS7k70.js} +3 -4
- package/dist/{ToggleGroup-BOz1yyz6.js.map → ToggleGroup-DsDS7k70.js.map} +1 -1
- package/dist/{Workbench-CxgNCs3I.js → Workbench-4s0xP6XU.js} +18 -32
- package/dist/{Workbench-CxgNCs3I.js.map → Workbench-4s0xP6XU.js.map} +1 -1
- package/dist/{ZoomableSvg-CxXKanUR.js → ZoomableSvg-BRPGgaWJ.js} +8 -10
- package/dist/{ZoomableSvg-CxXKanUR.js.map → ZoomableSvg-BRPGgaWJ.js.map} +1 -1
- package/dist/charts.d.ts +0 -16
- package/dist/charts.js +10 -19
- package/dist/charts.js.map +1 -1
- package/dist/{classNames-DcGnTh2N.js → classNames-DkX30VJU.js} +2 -3
- package/dist/{classNames-DcGnTh2N.js.map → classNames-DkX30VJU.js.map} +1 -1
- package/dist/editors.d.ts +2 -16
- package/dist/editors.js +16 -26
- package/dist/editors.js.map +1 -1
- package/dist/{findLiteralMatches-DgGLzyG0.js → findLiteralMatches-BaLZTPtx.js} +2 -3
- package/dist/{findLiteralMatches-DgGLzyG0.js.map → findLiteralMatches-BaLZTPtx.js.map} +1 -1
- package/dist/flint.d.ts +0 -2
- package/dist/flint.js +10 -14
- package/dist/flint.js.map +1 -1
- package/dist/{highlightCode-D354tCXO.js → highlightCode-2spZP7ZA.js} +2 -3
- package/dist/{highlightCode-D354tCXO.js.map → highlightCode-2spZP7ZA.js.map} +1 -1
- package/dist/{icons-ZIeZXXS7.js → icons-DDR9dFSr.js} +21 -40
- package/dist/{icons-ZIeZXXS7.js.map → icons-DDR9dFSr.js.map} +1 -1
- package/dist/icons.d.ts +1 -1
- package/dist/icons.js +1 -2
- package/dist/{index-D-itZ3VP.d.ts → index-BljYaTWL.d.ts} +1 -39
- package/dist/index.d.ts +418 -1296
- package/dist/index.js +75 -74
- package/dist/internal/blocks/AIKit.js +1 -2
- package/dist/internal/blocks/AppShell.js +1 -2
- package/dist/internal/blocks/AuthLayout.js +3 -4
- package/dist/internal/blocks/AutoSaveTextarea.js +1 -2
- package/dist/internal/blocks/BrandEditor.js +1 -2
- package/dist/internal/blocks/ChartPanel.js +3 -4
- package/dist/internal/blocks/ChipEditor.js +6 -7
- package/dist/internal/blocks/ClipboardButton.js +1 -2
- package/dist/internal/blocks/ColorInput.js +1 -2
- package/dist/internal/blocks/ColorModeSwitch.js +1 -2
- package/dist/internal/blocks/Command.js +1 -2
- package/dist/internal/blocks/CopyField.js +1 -2
- package/dist/internal/blocks/DashboardHero.js +2 -3
- package/dist/internal/blocks/DateInput.js +1 -2
- package/dist/internal/blocks/DateRangeInput.js +1 -2
- package/dist/internal/blocks/DiagramShared/DiagramSkeleton.js +1 -2
- package/dist/internal/blocks/EmptyConfigurationActionCard.js +2 -3
- package/dist/internal/blocks/EmptyState.js +1 -2
- package/dist/internal/blocks/ErrorState.js +1 -2
- package/dist/internal/blocks/ExportMenu.js +5 -6
- package/dist/internal/blocks/FacebookButton.js +3 -4
- package/dist/internal/blocks/Form/connectors/ComboboxField.js +3 -4
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +2 -3
- package/dist/internal/blocks/Form.js +3 -2
- package/dist/internal/blocks/FormGroup.js +1 -2
- package/dist/internal/blocks/GoogleButton.js +3 -4
- package/dist/internal/blocks/InlineEdit.js +1 -2
- package/dist/internal/blocks/MicrosoftButton.js +3 -4
- package/dist/internal/blocks/MultiActionButtonGroup.js +1 -2
- package/dist/internal/blocks/MultiCombobox.js +7 -8
- package/dist/internal/blocks/NumberInput.js +2 -3
- package/dist/internal/blocks/OtpInput.js +1 -2
- package/dist/internal/blocks/PageHeader.js +1 -2
- package/dist/internal/blocks/PageLayout.js +1 -2
- package/dist/internal/blocks/PageToolbar.js +1 -2
- package/dist/internal/blocks/PasswordInput.js +5 -6
- package/dist/internal/blocks/SearchInput.js +1 -2
- package/dist/internal/blocks/SearchInputWithNavigation.js +6 -7
- package/dist/internal/blocks/SectionNav.js +1 -2
- package/dist/internal/blocks/SplitButton.js +4 -5
- package/dist/internal/blocks/StatCard.js +4 -6
- package/dist/internal/blocks/StatCard.js.map +1 -1
- package/dist/internal/blocks/TextInput.js +1 -2
- package/dist/internal/blocks/Textarea.js +3 -4
- package/dist/internal/blocks/TimeInput.js +6 -7
- package/dist/internal/components/Alert.js +1 -2
- package/dist/internal/components/AlertModal.js +1 -2
- package/dist/internal/components/Avatar.js +3 -4
- package/dist/internal/components/Badge.js +1 -2
- package/dist/internal/components/BrandLogo.js +1 -2
- package/dist/internal/components/Breadcrumb.js +1 -2
- package/dist/internal/components/Button.js +1 -2
- package/dist/internal/components/ButtonGroup.js +2 -3
- package/dist/internal/components/Calendar.js +1 -2
- package/dist/internal/components/Card.js +1 -2
- package/dist/internal/components/Checkbox.js +1 -2
- package/dist/internal/components/Clipboard.js +1 -2
- package/dist/internal/components/Collapsible.js +1 -2
- package/dist/internal/components/CollapsiblePanel.js +5 -6
- package/dist/internal/components/Combobox.js +1 -2
- package/dist/internal/components/DatePicker.js +1 -2
- package/dist/internal/components/DateRangePicker.js +1 -2
- package/dist/internal/components/DiffView.js +1 -2
- package/dist/internal/components/DotsLoader.js +2 -3
- package/dist/internal/components/DropdownMenu.js +1 -2
- package/dist/internal/components/EmptySearchContent.js +1 -2
- package/dist/internal/components/FileUpload.js +1 -2
- package/dist/internal/components/FullScreenModal.js +1 -2
- package/dist/internal/components/HelpBlock.js +1 -2
- package/dist/internal/components/HoverCard.js +1 -2
- package/dist/internal/components/InputGroup.js +1 -2
- package/dist/internal/components/Kbd.js +1 -2
- package/dist/internal/components/Label.js +2 -3
- package/dist/internal/components/Link.js +2 -3
- package/dist/internal/components/MarkedText.js +1 -2
- package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +3 -4
- package/dist/internal/components/MergeEditor/PaneHeader.js +1 -2
- package/dist/internal/components/MergeEditor/constants.js +1 -2
- package/dist/internal/components/MergeEditor/useMergeDiff.js +1 -2
- package/dist/internal/components/Modal.js +1 -2
- package/dist/internal/components/Navbar.js +1 -2
- package/dist/internal/components/Pagination.js +1 -2
- package/dist/internal/components/PanelWithDetails.js +4 -5
- package/dist/internal/components/Popconfirm.js +1 -2
- package/dist/internal/components/Popover.js +1 -2
- package/dist/internal/components/Progress.js +2 -3
- package/dist/internal/components/RadioGroup.js +1 -2
- package/dist/internal/components/Resizable.js +1 -2
- package/dist/internal/components/ScrollArea.js +3 -5
- package/dist/internal/components/ScrollArea.js.map +1 -1
- package/dist/internal/components/Search.js +1 -2
- package/dist/internal/components/Select.js +1 -2
- package/dist/internal/components/Separator.js +2 -3
- package/dist/internal/components/Sheet.js +1 -2
- package/dist/internal/components/Sidebar.js +1 -2
- package/dist/internal/components/Skeleton/Skeleton.js +2 -3
- package/dist/internal/components/Skeleton/SkeletonList.js +2 -3
- package/dist/internal/components/Slider.js +1 -2
- package/dist/internal/components/SpotlightBackdrop.js +3 -5
- package/dist/internal/components/SpotlightBackdrop.js.map +1 -1
- package/dist/internal/components/Stepper.js +1 -2
- package/dist/internal/components/Switch.js +1 -2
- package/dist/internal/components/Table.js +1 -2
- package/dist/internal/components/Tabs.js +1 -2
- package/dist/internal/components/ThemeProvider.js +2 -2
- package/dist/internal/components/TimePicker.js +1 -2
- package/dist/internal/components/Timeline.js +1 -2
- package/dist/internal/components/Toast.js +2 -2
- package/dist/internal/components/Toggle.js +2 -3
- package/dist/internal/components/ToggleGroup.js +1 -2
- package/dist/internal/components/Tooltip.js +1 -2
- package/dist/internal/components/Truncated.js +3 -4
- package/dist/internal/components/Workbench.js +1 -2
- package/dist/internal/components/ZoomableSvg.js +1 -2
- package/dist/internal/hooks/useAltDigitHotkey.js +1 -2
- package/dist/internal/hooks/useAutosizeInput.js +1 -2
- package/dist/internal/hooks/useScrollbarPosition.js +2 -3
- package/dist/internal/hooks/useStableCallback.js +1 -2
- package/dist/internal/hooks/useTimeout.js +1 -2
- package/dist/internal/utils/accessibleName.js +1 -2
- package/dist/internal/utils/mergeRefs.js +1 -2
- package/dist/internal/utils.js +3 -3
- package/dist/markdown-editor.d.ts +0 -4
- package/dist/markdown-editor.js +30 -49
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.d.ts +0 -2
- package/dist/mermaid.js +1 -2
- package/dist/rjsf.d.ts +0 -8
- package/dist/rjsf.js +47 -78
- package/dist/rjsf.js.map +1 -1
- package/dist/{rolldown-runtime-Bdc48AWt.js → rolldown-runtime-BrwM56v-.js} +2 -3
- package/dist/{styles-T8xwr0sR.js → styles-BXXXosW_.js} +2 -3
- package/dist/{styles-T8xwr0sR.js.map → styles-BXXXosW_.js.map} +1 -1
- package/dist/{styles-DxazJ8Mz.js → styles-nwtCRF7y.js} +2 -3
- package/dist/{styles-DxazJ8Mz.js.map → styles-nwtCRF7y.js.map} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{svgCache-Dhmbe-7i.js → svgCache-BzvN_fgr.js} +2 -3
- package/dist/{svgCache-Dhmbe-7i.js.map → svgCache-BzvN_fgr.js.map} +1 -1
- package/dist/{svgTransforms-Hnvev3Vs.js → svgTransforms-BBxxO9T6.js} +4 -6
- package/dist/{svgTransforms-Hnvev3Vs.js.map → svgTransforms-BBxxO9T6.js.map} +1 -1
- package/dist/testing.d.ts +0 -2
- package/dist/testing.js +2 -3
- package/dist/{themeScopeContext-CEVXbYvZ.js → themeScopeContext-BZGPdyG8.js} +6 -11
- package/dist/{themeScopeContext-CEVXbYvZ.js.map → themeScopeContext-BZGPdyG8.js.map} +1 -1
- package/dist/{themeTokens-DCeb62ap.js → themeTokens-B60cQtAY.js} +4 -6
- package/dist/{themeTokens-DCeb62ap.js.map → themeTokens-B60cQtAY.js.map} +1 -1
- package/dist/{toast-Y3cTMBW8.js → toast-Dzj1EFOb.js} +10 -17
- package/dist/{toast-Y3cTMBW8.js.map → toast-Dzj1EFOb.js.map} +1 -1
- package/dist/{types-BPcAjMG0.d.ts → types-CsZuwfxc.d.ts} +1 -3
- package/dist/{useControllableState-CUYXMsfz.js → useControllableState-BCvUOC6G.js} +2 -3
- package/dist/{useControllableState-CUYXMsfz.js.map → useControllableState-BCvUOC6G.js.map} +1 -1
- package/dist/{useElement-D-RjrGa4.js → useElement-Dcoo9Jlr.js} +2 -3
- package/dist/{useElement-D-RjrGa4.js.map → useElement-Dcoo9Jlr.js.map} +1 -1
- package/dist/{useMergeDiff-CvowEXJ1.js → useMergeDiff-DFIATaTw.js} +3 -5
- package/dist/{useMergeDiff-CvowEXJ1.js.map → useMergeDiff-DFIATaTw.js.map} +1 -1
- package/dist/{utils-DwC9u0tM.js → utils-DjFceY3H.js} +18 -34
- package/dist/{utils-DwC9u0tM.js.map → utils-DjFceY3H.js.map} +1 -1
- package/dist/vega.d.ts +1 -5
- package/dist/vega.js +3 -4
- package/dist/{vegaTheme-ISwGXvof.js → vegaTheme-BcTNRmVS.js} +3 -4
- package/dist/{vegaTheme-ISwGXvof.js.map → vegaTheme-BcTNRmVS.js.map} +1 -1
- package/dist/{vegaTokens-DCkvpIVE.js → vegaTokens-DnCcy7JY.js} +3 -4
- package/dist/{vegaTokens-DCkvpIVE.js.map → vegaTokens-DnCcy7JY.js.map} +1 -1
- package/package.json +40 -40
- package/src/styles.css +70 -4
- package/src/theme.css +113 -11
- package/dist/AIKit-BR6jfsdI.js.map +0 -1
- package/dist/Button-BNkyYU8u.js.map +0 -1
- package/dist/Calendar-BnKi1kPu.js.map +0 -1
- package/dist/Popconfirm-p72DiagN.js.map +0 -1
- package/dist/Search-vyZwGKMU.js.map +0 -1
- package/dist/SearchInput-DyYXyw3u.js.map +0 -1
- package/dist/TextInput-CR0_USaY.js.map +0 -1
package/AGENTS.md
CHANGED
|
@@ -10,9 +10,10 @@ Working **on** the package (commands, layer boundary, token surface, the FA→Lu
|
|
|
10
10
|
|
|
11
11
|
- **ESM only.** The package ships no CommonJS build — no `*.cjs` and no `require` condition in the `exports` map. Consume it from an ESM-capable bundler (Vite, webpack, Rollup, esbuild) or `import` it from Node. A `require()` resolves to the ESM entry, so it works only where the runtime can require ESM (Node ≥ 22.12) and throws `ERR_REQUIRE_ESM` on older ones.
|
|
12
12
|
- **Always** import from the package root: `import { Button } from '@keboola/design'`.
|
|
13
|
-
- App entry points **must** import styles
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- App entry points **must** import styles:
|
|
14
|
+
- `@import '@keboola/design/styles/compiled'` — design's pre-compiled CSS: component chrome, runtime `--*` tokens, scoped preflight. **Every Keboola app uses this**, after `@keboola/design/theme` and before its own `tailwindcss/utilities.css`, so app utilities win same-specificity ties — copy the entry from `apps/boilerplate/src/index.css`.
|
|
15
|
+
- `@import '@keboola/design/theme'` — the portable `@theme` tokens, custom utilities and variants, so an app's own Tailwind build can generate `tw:bg-primary`, `tw:scroll-fade-y`, … A token an app authors belongs here, not in design's `styles.css`.
|
|
16
|
+
- `@keboola/design/styles` — design's Tailwind source entry; no app in this repo imports it.
|
|
16
17
|
- Icons: `import { ChevronDown } from '@keboola/design/icons'`.
|
|
17
18
|
- Code editors: `import { CodeEditor, SqlEditor, MergeEditor } from '@keboola/design/editors'`. These pull the full CodeMirror bundle (~1.3 MB), so they ship from a dedicated subpath — keeping the root barrel CodeMirror-free for apps that don't edit code.
|
|
18
19
|
|
|
@@ -32,8 +33,8 @@ The root barrel (`@keboola/design`) is **not** the whole package. These live onl
|
|
|
32
33
|
| `@keboola/design/markdown-editor` | `MarkdownEditor` | Markdown editing — **not** in the root barrel |
|
|
33
34
|
| `@keboola/design/rjsf` | `RjsfSchemaEditor`, `useRootFormData` | JSON-Schema-driven config forms (RJSF) — pulls `@rjsf/*` + ajv |
|
|
34
35
|
| `@keboola/design/testing` | `renderWithTheme` | Unit tests that need a component wrapped in `ThemeProvider` |
|
|
35
|
-
| `@keboola/design/styles`
|
|
36
|
-
| `@keboola/design/
|
|
36
|
+
| `@keboola/design/styles/compiled` | Pre-compiled CSS | App entry (**default**) |
|
|
37
|
+
| `@keboola/design/theme` | Portable `@theme` tokens, utilities, variants | App entry, before `styles/compiled` |
|
|
37
38
|
|
|
38
39
|
### design ≠ shadcn — API deltas
|
|
39
40
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,90 @@
|
|
|
1
1
|
# @keboola/design
|
|
2
2
|
|
|
3
|
+
## 16.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `AnswerActions` takes `voteStyle="quiet"`: the recorded vote takes the accent ink with no fill instead of green or red. Off by default.
|
|
8
|
+
|
|
9
|
+
- `SourceChip` and `AnswerSources` take `verifiedStyle="quiet"`: a verified chip wears the plain neutral chip, and the verdict stays in its accessible name. Off by default.
|
|
10
|
+
|
|
11
|
+
- `AnswerSources` takes `trailing`, drawn at the end of the chip row after the "N unverified" flag. Off by default.
|
|
12
|
+
|
|
13
|
+
- `InlineStepLabel` takes `icon`: the step's kind in place of the status mark, the status moved to the accessible name, and a failed step read muted rather than red. `InlineStepGroup` takes `statusMark={false}` to drop the header's mark. Both off by default.
|
|
14
|
+
|
|
15
|
+
- `MessageBubble` takes `footer`, drawn after the `collapseAfterPx` fold and above the time-and-actions row. Off by default. Passing `Number.POSITIVE_INFINITY` as `collapseAfterPx` while an answer streams keeps the body mounted when the real limit arrives.
|
|
16
|
+
|
|
17
|
+
- `Markdown` and `Markdown.Block` take `caret`: `writing` draws a blinking caret at the end of the last block, `finishing` stills it and adds `finishingLabel` ("Finishing…"). Still under reduced motion. Off by default.
|
|
18
|
+
|
|
19
|
+
## 16.0.0
|
|
20
|
+
|
|
21
|
+
### Major Changes
|
|
22
|
+
|
|
23
|
+
- Drops exports no consumer imports.
|
|
24
|
+
- `@keboola/design`: `UsageStatsRing` and `DIAGRAM_LANGUAGES` are internal; `UsageStats` still renders the ring.
|
|
25
|
+
- `@keboola/agent-vocabulary`: no `MermaidDiagramIconName` type; `MERMAID_DIAGRAM_ICON_NAMES` stays.
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- `Badge`'s default `gray` now clears WCAG-AA (6.73:1), so every badge and `Combobox`/`MultiCombobox` chip without an explicit `color` is legible.
|
|
30
|
+
- **Visible change:** `gray` fills `neutral-500` instead of `neutral-400`, a darker grey in every app.
|
|
31
|
+
- `gray-darker` fills `neutral-600` (9.02:1) so it stays a step darker than `gray`.
|
|
32
|
+
- The solid contrast stories assert `gray`, `gray-darker` and the default `Badge`, in both schemes.
|
|
33
|
+
|
|
34
|
+
- `Button` takes `disabledReason`: it disables the button and shows the reason in a tooltip on hover and focus.
|
|
35
|
+
- The button stays focusable (`aria-disabled`, not `disabled`), so a keyboard user reaches the reason too.
|
|
36
|
+
- Clicks and form submits are blocked.
|
|
37
|
+
- The `not-disabled` variant also skips `aria-disabled="true"`, so a focusable unavailable control no longer lights up on hover.
|
|
38
|
+
- The `disabled-button-tooltip` recipe is replaced by this prop.
|
|
39
|
+
|
|
40
|
+
- `FieldItem`, `FieldItemProps` and `useFieldContext` are exported, so an app can write a form connector for a control the package does not ship
|
|
41
|
+
- Wrap the control in `FieldItem` and bind it with `useFieldContext`, inside `form.AppField`.
|
|
42
|
+
- For a control that is not a labelable element (`div[role]`, CodeMirror), pass `labelling="aria-labelledby"`.
|
|
43
|
+
|
|
44
|
+
- Popconfirm splits its footer evenly between Cancel and Confirm, sets its body text at 14/20, is at least 288 px wide, wraps its text at 384 px and widens past that only to fit its buttons, and adds `Popconfirm.Title`, `Popconfirm.Description` and `layout="centered"` on `Popconfirm.Content`
|
|
45
|
+
|
|
46
|
+
- `TextInput` and `field.TextField` accept `type="url"`
|
|
47
|
+
- The input renders as `<input type="url">`: URL keyboard on mobile, native URL check on submit.
|
|
48
|
+
|
|
49
|
+
- `Markdown` and `Markdown.Root` take `headingScale="compact"`: answer-sized headings. The default scale is unchanged.
|
|
50
|
+
|
|
51
|
+
- `PromptInput` and `PromptInputSubmit` take `sendIcon="arrow-up"` for an upward-arrow send button; the paper plane stays the default.
|
|
52
|
+
|
|
53
|
+
- `AnswerActions` takes `groupDivider` (a rule between Copy and the votes and the trailing controls) and `timestamp` (the time as a clock's tooltip, not inline). Both are off by default.
|
|
54
|
+
|
|
55
|
+
- `ChatNotice` takes `bordered={false}` for a notice on a tinted surface; the border stays by default.
|
|
56
|
+
|
|
57
|
+
- `Markdown` and `Markdown.Block` take `renderCitation`: a `[n]` in running text is drawn as whatever it returns for `n`. Code and links are skipped; without it `[n]` stays text.
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- `@keboola/design/theme` gives an app's own Tailwind build every custom utility it authors.
|
|
62
|
+
- `tw:animate-fade`, `tw:scroll-fade`, `tw:scroll-fade-x`, `tw:scroll-fade-y` and `tw:stroke-/fill-aigradient-600/700` generate from the theme.
|
|
63
|
+
- `tw:duration-brand` sets `--tw-duration`, so it holds alongside `tw:transition`.
|
|
64
|
+
- `tw:font-display` falls back through the full sans stack.
|
|
65
|
+
- The compiled stylesheet is otherwise unchanged; design's token scales live in CSS, and its Tailwind config carries prose typography only.
|
|
66
|
+
|
|
67
|
+
- `RjsfSchemaEditor` propagates a field reverted to the value the form opened with.
|
|
68
|
+
- The form-data-after-defaults baseline is ignored only until the first value reaches `onChange`.
|
|
69
|
+
- After that, any edit that differs from `value` reaches `onChange`, including a return to the opened state.
|
|
70
|
+
|
|
71
|
+
- `Select` can hold an item whose value is `''`, such as an "All" filter option
|
|
72
|
+
- Selected, that item shows its label in the trigger instead of the placeholder.
|
|
73
|
+
- Picking it calls `onValueChange('')`.
|
|
74
|
+
- With no such item, `''` still shows the placeholder.
|
|
75
|
+
- Not for a natively submitted `<form>` with `name`: the hidden `<select>` sends an internal value for that item, and `required` passes.
|
|
76
|
+
|
|
77
|
+
- Runtime dependencies require their latest patch and minor releases.
|
|
78
|
+
- `@keboola/design`: `@rjsf/*` 6.11, `pele` 1.10, `react-resizable-panels` 4.15, `tailwind-merge` 3.7, `vega-lite` 6.5, `@tanstack/react-virtual` 3.14.22, plus patch releases of `dompurify`, `sonner`, `react-day-picker`, `node-diff3` and `@lezer/highlight`.
|
|
79
|
+
- `@keboola/api-client`: `qs` 6.16.1.
|
|
80
|
+
- `@keboola/codemirror-lang-sql`: `@lezer/highlight` 1.2.5.
|
|
81
|
+
|
|
82
|
+
- `SearchInput` and `Search` call the latest handler when a debounced change fires. `Search` now debounces like `SearchInput`: clearing or unmounting drops a pending change, and a controlled `value` no longer overwrites text typed while a change is pending.
|
|
83
|
+
|
|
84
|
+
- Updated dependencies:
|
|
85
|
+
- @keboola/brand-registry@3.1.0
|
|
86
|
+
- @keboola/codemirror-lang-sql@0.7.4
|
|
87
|
+
|
|
3
88
|
## 15.1.0
|
|
4
89
|
|
|
5
90
|
### Minor Changes
|
package/COMPONENT-API.md
CHANGED
|
@@ -14,13 +14,14 @@ Source: `src/components/Button/Button.tsx`
|
|
|
14
14
|
|
|
15
15
|
> Icons are composed as children, not an `icon` prop. Plus all native `<button>` attributes.
|
|
16
16
|
|
|
17
|
-
| Prop
|
|
18
|
-
|
|
|
19
|
-
| `asChild`
|
|
20
|
-
| `block`
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
17
|
+
| Prop | Type | Required | Default | Description |
|
|
18
|
+
| ---------------- | --------------------------------------------------------------------------------------------------------------------- | -------- | --------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `asChild` | `boolean` | no | `false` | Render as a Radix `Slot` so the parent JSX (e.g. a `react-router` `<Link>`) becomes the button element. |
|
|
20
|
+
| `block` | `boolean \| null` | no | `false` | |
|
|
21
|
+
| `disabledReason` | `ReactNode` | no | — | Disables the button and shows this on hover and focus; the button stays focusable. |
|
|
22
|
+
| `isLoading` | `boolean` | no | `false` | Shows a spinner in place of the leading icon, or before the label when there is none. The caller still controls `disabled`. |
|
|
23
|
+
| `size` | `"small" \| "medium" \| "large" \| "icon-lg" \| "icon" \| "icon-sm" \| "icon-xs" \| "icon-2xs" \| "icon-3xs" \| null` | no | `medium` | |
|
|
24
|
+
| `variant` | `"primary" \| "secondary" \| "kai" \| "danger" \| "outline" \| "invisible" \| "inline" \| null` | no | `primary` | |
|
|
24
25
|
|
|
25
26
|
### `ButtonInline`
|
|
26
27
|
|
|
@@ -89,22 +90,22 @@ Source: `src/blocks/TextInput/TextInput.tsx`
|
|
|
89
90
|
|
|
90
91
|
> Bare input. Plus all native `<input>` attributes.
|
|
91
92
|
|
|
92
|
-
| Prop | Type
|
|
93
|
-
| -------------------- |
|
|
94
|
-
| `allowClear` | `boolean`
|
|
95
|
-
| `defaultValue` | `string \| null`
|
|
96
|
-
| `focusVariant` | `"off" \| "on" \| "default" \| null`
|
|
97
|
-
| `leftSuffix` | `ReactNode`
|
|
98
|
-
| `onClear` | `(() => void)`
|
|
99
|
-
| `onValueBlur` | `((value: string) => void)`
|
|
100
|
-
| `onValueChange` | `((value: string) => void)`
|
|
101
|
-
| `prefix` | `ReactNode`
|
|
102
|
-
| `rightSuffix` | `ReactNode`
|
|
103
|
-
| `rightSuffixVariant` | `"default" \| "addon"`
|
|
104
|
-
| `state` | `"warning" \| "error" \| "default" \| null`
|
|
105
|
-
| `testId` | `string`
|
|
106
|
-
| `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | `text` | |
|
|
107
|
-
| `value` | `string \| null`
|
|
93
|
+
| Prop | Type | Required | Default | Description |
|
|
94
|
+
| -------------------- | ------------------------------------------------------------------------ | -------- | --------- | ------------------------------------------------------------------------------------------------ |
|
|
95
|
+
| `allowClear` | `boolean` | no | `false` | |
|
|
96
|
+
| `defaultValue` | `string \| null` | no | — | |
|
|
97
|
+
| `focusVariant` | `"off" \| "on" \| "default" \| null` | no | `default` | |
|
|
98
|
+
| `leftSuffix` | `ReactNode` | no | `null` | |
|
|
99
|
+
| `onClear` | `(() => void)` | no | — | |
|
|
100
|
+
| `onValueBlur` | `((value: string) => void)` | no | — | Receives the string value; `onBlur` gets the raw event. |
|
|
101
|
+
| `onValueChange` | `((value: string) => void)` | no | — | Receives the string value; `onChange` gets the raw event. |
|
|
102
|
+
| `prefix` | `ReactNode` | no | `null` | |
|
|
103
|
+
| `rightSuffix` | `ReactNode` | no | `null` | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
|
|
104
|
+
| `rightSuffixVariant` | `"default" \| "addon"` | no | `default` | |
|
|
105
|
+
| `state` | `"warning" \| "error" \| "default" \| null` | no | `default` | |
|
|
106
|
+
| `testId` | `string` | no | — | |
|
|
107
|
+
| `type` | `"text" \| "url" \| "email" \| "date" \| "password" \| "datetime-local"` | no | `text` | |
|
|
108
|
+
| `value` | `string \| null` | no | — | |
|
|
108
109
|
|
|
109
110
|
### `PasswordInput`
|
|
110
111
|
|
|
@@ -158,21 +159,21 @@ Source: `src/blocks/FormGroup/FormGroupTextInput.tsx`
|
|
|
158
159
|
|
|
159
160
|
> NO `error` prop — error styling comes from the parent `FormGroup state="error"` via context. `state` is omitted from the surface for the same reason. Plus native `<input>` attributes.
|
|
160
161
|
|
|
161
|
-
| Prop | Type
|
|
162
|
-
| -------------------- |
|
|
163
|
-
| `allowClear` | `boolean`
|
|
164
|
-
| `defaultValue` | `string \| null`
|
|
165
|
-
| `focusVariant` | `"off" \| "on" \| "default" \| null`
|
|
166
|
-
| `leftSuffix` | `ReactNode`
|
|
167
|
-
| `onClear` | `(() => void)`
|
|
168
|
-
| `onValueBlur` | `((value: string) => void)`
|
|
169
|
-
| `onValueChange` | `((value: string) => void)`
|
|
170
|
-
| `prefix` | `ReactNode`
|
|
171
|
-
| `rightSuffix` | `ReactNode`
|
|
172
|
-
| `rightSuffixVariant` | `"default" \| "addon"`
|
|
173
|
-
| `testId` | `string`
|
|
174
|
-
| `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
|
|
175
|
-
| `value` | `string \| null`
|
|
162
|
+
| Prop | Type | Required | Default | Description |
|
|
163
|
+
| -------------------- | ------------------------------------------------------------------------ | -------- | ------- | ------------------------------------------------------------------------------------------------ |
|
|
164
|
+
| `allowClear` | `boolean` | no | — | |
|
|
165
|
+
| `defaultValue` | `string \| null` | no | — | |
|
|
166
|
+
| `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
|
|
167
|
+
| `leftSuffix` | `ReactNode` | no | — | |
|
|
168
|
+
| `onClear` | `(() => void)` | no | — | |
|
|
169
|
+
| `onValueBlur` | `((value: string) => void)` | no | — | Receives the string value; `onBlur` gets the raw event. |
|
|
170
|
+
| `onValueChange` | `((value: string) => void)` | no | — | Receives the string value; `onChange` gets the raw event. |
|
|
171
|
+
| `prefix` | `ReactNode` | no | — | |
|
|
172
|
+
| `rightSuffix` | `ReactNode` | no | — | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
|
|
173
|
+
| `rightSuffixVariant` | `"default" \| "addon"` | no | — | |
|
|
174
|
+
| `testId` | `string` | no | — | |
|
|
175
|
+
| `type` | `"text" \| "url" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
|
|
176
|
+
| `value` | `string \| null` | no | — | |
|
|
176
177
|
|
|
177
178
|
### `FormGroup.Help`
|
|
178
179
|
|
|
@@ -198,28 +199,28 @@ Source: `src/blocks/Form/connectors/TextField.tsx`
|
|
|
198
199
|
|
|
199
200
|
> Value/onChange/onBlur/id/name are wired from the field — do not pass them. Forwards remaining `FormGroup.TextInput` props.
|
|
200
201
|
|
|
201
|
-
| Prop | Type
|
|
202
|
-
| -------------------- |
|
|
203
|
-
| `action` | `ReactNode`
|
|
204
|
-
| `allowClear` | `boolean`
|
|
205
|
-
| `aria-describedby` | `string`
|
|
206
|
-
| `className` | `string`
|
|
207
|
-
| `defaultValue` | `string \| null`
|
|
208
|
-
| `focusVariant` | `"off" \| "on" \| "default" \| null`
|
|
209
|
-
| `help` | `ReactNode`
|
|
210
|
-
| `label` | `ReactNode`
|
|
211
|
-
| `leftSuffix` | `ReactNode`
|
|
212
|
-
| `onClear` | `(() => void)`
|
|
213
|
-
| `onValueBlur` | `((value: string) => void)`
|
|
214
|
-
| `onValueChange` | `((value: string) => void)`
|
|
215
|
-
| `prefix` | `ReactNode`
|
|
216
|
-
| `required` | `boolean`
|
|
217
|
-
| `requiredMark` | `RequiredMark`
|
|
218
|
-
| `rightSuffix` | `ReactNode`
|
|
219
|
-
| `rightSuffixVariant` | `"default" \| "addon"`
|
|
220
|
-
| `testId` | `string`
|
|
221
|
-
| `tooltip` | `ReactNode`
|
|
222
|
-
| `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
|
|
202
|
+
| Prop | Type | Required | Default | Description |
|
|
203
|
+
| -------------------- | ------------------------------------------------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
204
|
+
| `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
|
|
205
|
+
| `allowClear` | `boolean` | no | — | |
|
|
206
|
+
| `aria-describedby` | `string` | no | — | Identifies the element (or elements) that describes the object. @see aria-labelledby |
|
|
207
|
+
| `className` | `string` | no | — | |
|
|
208
|
+
| `defaultValue` | `string \| null` | no | — | |
|
|
209
|
+
| `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
|
|
210
|
+
| `help` | `ReactNode` | no | — | |
|
|
211
|
+
| `label` | `ReactNode` | no | — | |
|
|
212
|
+
| `leftSuffix` | `ReactNode` | no | — | |
|
|
213
|
+
| `onClear` | `(() => void)` | no | — | |
|
|
214
|
+
| `onValueBlur` | `((value: string) => void)` | no | — | Receives the string value; `onBlur` gets the raw event. |
|
|
215
|
+
| `onValueChange` | `((value: string) => void)` | no | — | Receives the string value; `onChange` gets the raw event. |
|
|
216
|
+
| `prefix` | `ReactNode` | no | — | |
|
|
217
|
+
| `required` | `boolean` | no | — | |
|
|
218
|
+
| `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
|
|
219
|
+
| `rightSuffix` | `ReactNode` | no | — | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
|
|
220
|
+
| `rightSuffixVariant` | `"default" \| "addon"` | no | — | |
|
|
221
|
+
| `testId` | `string` | no | — | |
|
|
222
|
+
| `tooltip` | `ReactNode` | no | — | |
|
|
223
|
+
| `type` | `"text" \| "url" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
|
|
223
224
|
|
|
224
225
|
### `field.PasswordField`
|
|
225
226
|
|
|
@@ -748,7 +749,7 @@ Source: `src/blocks/EmptyState/EmptyState.tsx`
|
|
|
748
749
|
|
|
749
750
|
Source: `src/components/Popconfirm/Popconfirm.tsx`
|
|
750
751
|
|
|
751
|
-
> Lightweight inline confirmation anchored to its trigger. Compound: `Popconfirm.Trigger`, `Popconfirm.Content
|
|
752
|
+
> Lightweight inline confirmation anchored to its trigger. Compound: `Popconfirm.Trigger`, `Popconfirm.Content` (`layout="centered"` centres the body), `Popconfirm.Body`, `Popconfirm.Title`, `Popconfirm.Description`, `Popconfirm.Footer`, `Popconfirm.Confirm`, `Popconfirm.Cancel`.
|
|
752
753
|
|
|
753
754
|
| Prop | Type | Required | Default | Description |
|
|
754
755
|
| --------------- | ------------------------------------------------------------------------------- | -------- | -------------- | ----------- |
|