@keboola/design 11.9.0 → 12.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 +34 -8
- package/CHANGELOG.md +155 -0
- package/COMPONENT-API.md +337 -289
- package/README.md +11 -1
- package/dist/{AIKit-ELIsegJz.js → AIKit-BD4r7ff-.js} +404 -243
- package/dist/AIKit-BD4r7ff-.js.map +1 -0
- package/dist/{Alert-BsIM_oFK.js → Alert-UI-CIs-1.js} +16 -16
- package/dist/Alert-UI-CIs-1.js.map +1 -0
- package/dist/{AlertModal-BGJdaRRj.js → AlertModal-Th2khjPi.js} +5 -5
- package/dist/AlertModal-Th2khjPi.js.map +1 -0
- package/dist/{AppShell-DRgJxpXW.js → AppShell-WSQabK8r.js} +15 -52
- package/dist/AppShell-WSQabK8r.js.map +1 -0
- package/dist/{AutoSaveTextarea-BeuWuszr.js → AutoSaveTextarea-C5iIr2Ts.js} +2 -2
- package/dist/{AutoSaveTextarea-BeuWuszr.js.map → AutoSaveTextarea-C5iIr2Ts.js.map} +1 -1
- package/dist/{Badge-o5jURtpB.js → Badge-DIjhwPvh.js} +4 -9
- package/dist/Badge-DIjhwPvh.js.map +1 -0
- package/dist/{BrandEditor-BsTBM3s6.js → BrandEditor-BU23Vl8V.js} +7 -7
- package/dist/{BrandEditor-BsTBM3s6.js.map → BrandEditor-BU23Vl8V.js.map} +1 -1
- package/dist/{BrandLogo-CoKBk4MI.js → BrandLogo-CKpVSZb6.js} +4 -4
- package/dist/BrandLogo-CKpVSZb6.js.map +1 -0
- package/dist/{Breadcrumb-xqEUxfwn.js → Breadcrumb-p9HtMLCc.js} +8 -14
- package/dist/Breadcrumb-p9HtMLCc.js.map +1 -0
- package/dist/{Button-DsRrU5F1.js → Button-Ca4Q3VJU.js} +31 -13
- package/dist/Button-Ca4Q3VJU.js.map +1 -0
- package/dist/{Calendar-cG5NIJ4O.js → Calendar-DFtmZzbF.js} +99 -99
- package/dist/Calendar-DFtmZzbF.js.map +1 -0
- package/dist/{Card-Dyo7055Q.js → Card-Cr9MBNHu.js} +4 -4
- package/dist/Card-Cr9MBNHu.js.map +1 -0
- package/dist/{Checkbox-Dq5fPNrO.js → Checkbox-8yIIgY7g.js} +4 -4
- package/dist/Checkbox-8yIIgY7g.js.map +1 -0
- package/dist/{Clipboard-BZitKiSA.js → Clipboard-_xf6hMDD.js} +2 -2
- package/dist/{Clipboard-BZitKiSA.js.map → Clipboard-_xf6hMDD.js.map} +1 -1
- package/dist/{ClipboardButton-KHQnPEh_.js → ClipboardButton-DHa1trtI.js} +4 -4
- package/dist/{ClipboardButton-KHQnPEh_.js.map → ClipboardButton-DHa1trtI.js.map} +1 -1
- package/dist/{CodeEditor-BJKJXA0c.js → CodeEditor-BSo-oLFG.js} +55 -165
- package/dist/CodeEditor-BSo-oLFG.js.map +1 -0
- package/dist/{ColorInput-Bj3dfPFA.js → ColorInput-DSMqrs2-.js} +12 -27
- package/dist/ColorInput-DSMqrs2-.js.map +1 -0
- package/dist/{ColorModeSwitch-CWt-DZGC.js → ColorModeSwitch-D7EuWyJz.js} +7 -17
- package/dist/ColorModeSwitch-D7EuWyJz.js.map +1 -0
- package/dist/Combobox-CxRAYOBt.js +1069 -0
- package/dist/Combobox-CxRAYOBt.js.map +1 -0
- package/dist/{Command-BDU3C1gg.js → Command-BU_cVurn.js} +4 -4
- package/dist/{Command-BDU3C1gg.js.map → Command-BU_cVurn.js.map} +1 -1
- package/dist/{CopyField-BHRQUyuF.js → CopyField-6_c-NdLO.js} +17 -53
- package/dist/{CopyField-BHRQUyuF.js.map → CopyField-6_c-NdLO.js.map} +1 -1
- package/dist/{DateInput-B6N8g0ra.js → DateInput-DyEErfJf.js} +6 -6
- package/dist/{DateInput-B6N8g0ra.js.map → DateInput-DyEErfJf.js.map} +1 -1
- package/dist/{DatePicker-nA8YdE84.js → DatePicker-CtSa9b3V.js} +3 -3
- package/dist/{DatePicker-nA8YdE84.js.map → DatePicker-CtSa9b3V.js.map} +1 -1
- package/dist/{DateRangeInput-7M9Z4cVO.js → DateRangeInput-Dg7-VUd9.js} +10 -14
- package/dist/DateRangeInput-Dg7-VUd9.js.map +1 -0
- package/dist/{DateRangePicker-DjSUFjh4.js → DateRangePicker-BoPnh4aH.js} +9 -13
- package/dist/DateRangePicker-BoPnh4aH.js.map +1 -0
- package/dist/DiffView-ppTIzh2h.js.map +1 -1
- package/dist/{DropdownMenu-CgVwhDvl.js → DropdownMenu-gRM-A8qU.js} +3 -3
- package/dist/DropdownMenu-gRM-A8qU.js.map +1 -0
- package/dist/{FieldItem-DZGIdiXE.js → FieldItem-2wMXQ0Qw.js} +12 -25
- package/dist/FieldItem-2wMXQ0Qw.js.map +1 -0
- package/dist/{FieldItem-vhIJW4pj.d.ts → FieldItem-CPN1xjN5.d.ts} +11 -25
- package/dist/{FileUpload-DYQCTGjU.js → FileUpload-C83tXuE2.js} +11 -16
- package/dist/{FileUpload-DYQCTGjU.js.map → FileUpload-C83tXuE2.js.map} +1 -1
- package/dist/{Form-CcK7dRrC.js → Form-95rVLfX8.js} +15 -23
- package/dist/{Form-CcK7dRrC.js.map → Form-95rVLfX8.js.map} +1 -1
- package/dist/{FormGroup-DR_gZ25-.js → FormGroup-CmNiAtU6.js} +11 -17
- package/dist/FormGroup-CmNiAtU6.js.map +1 -0
- package/dist/{FullScreenModal-CN9nAs72.js → FullScreenModal-CD7mYeTz.js} +15 -29
- package/dist/FullScreenModal-CD7mYeTz.js.map +1 -0
- package/dist/{HoverCard-B9ZMJxjn.js → HoverCard-B8OKu9XZ.js} +2 -2
- package/dist/{HoverCard-B9ZMJxjn.js.map → HoverCard-B8OKu9XZ.js.map} +1 -1
- package/dist/{InputGroup-Do8K2hvD.js → InputGroup-B4QOPxHl.js} +11 -13
- package/dist/InputGroup-B4QOPxHl.js.map +1 -0
- package/dist/{Kbd-LCFMumoq.js → Kbd-J4n1J6i4.js} +23 -13
- package/dist/Kbd-J4n1J6i4.js.map +1 -0
- package/dist/{MarkedText-DNGEUVWc.js → MarkedText-DlmlJO0u.js} +2 -2
- package/dist/{MarkedText-DNGEUVWc.js.map → MarkedText-DlmlJO0u.js.map} +1 -1
- package/dist/{MermaidDiagram-ZG0iiDV_.js → MermaidDiagram-BQvz6bhv.js} +16 -34
- package/dist/MermaidDiagram-BQvz6bhv.js.map +1 -0
- package/dist/{Modal-I3VWk2oo.js → Modal-Driyqs_N.js} +17 -34
- package/dist/Modal-Driyqs_N.js.map +1 -0
- package/dist/{ModalTitle-CeLM_mX9.js → ModalTitle-BxopkIoQ.js} +3 -3
- package/dist/ModalTitle-BxopkIoQ.js.map +1 -0
- package/dist/{MultiActionButtonGroup-CYZ8IgSf.js → MultiActionButtonGroup-BPnmzBtw.js} +3 -3
- package/dist/{MultiActionButtonGroup-CYZ8IgSf.js.map → MultiActionButtonGroup-BPnmzBtw.js.map} +1 -1
- package/dist/{Navbar-Liy1TPI7.js → Navbar-B_DNpv5s.js} +9 -13
- package/dist/{Navbar-Liy1TPI7.js.map → Navbar-B_DNpv5s.js.map} +1 -1
- package/dist/{OtpInput-CbbymqYs.js → OtpInput-I8B8Vjdl.js} +2 -2
- package/dist/{OtpInput-CbbymqYs.js.map → OtpInput-I8B8Vjdl.js.map} +1 -1
- package/dist/{PageHeader-Q3IpCnQd.js → PageHeader-CgfyXpf1.js} +13 -26
- package/dist/PageHeader-CgfyXpf1.js.map +1 -0
- package/dist/{PageLayout-DSVM-ASz.js → PageLayout-DiAAILuS.js} +12 -20
- package/dist/PageLayout-DiAAILuS.js.map +1 -0
- package/dist/{PageToolbar-BKVJiDAL.js → PageToolbar-DOAtAnfL.js} +12 -42
- package/dist/PageToolbar-DOAtAnfL.js.map +1 -0
- package/dist/{Pagination-C_b7Xhey.js → Pagination-LaSg-5cl.js} +3 -3
- package/dist/{Pagination-C_b7Xhey.js.map → Pagination-LaSg-5cl.js.map} +1 -1
- package/dist/{Popconfirm-5pBzT_HQ.js → Popconfirm-SLz0zodk.js} +3 -3
- package/dist/{Popconfirm-5pBzT_HQ.js.map → Popconfirm-SLz0zodk.js.map} +1 -1
- package/dist/{Popover-BEbQrC_P.js → Popover-CEk915I1.js} +4 -3
- package/dist/Popover-CEk915I1.js.map +1 -0
- package/dist/{RadioGroup-Byc2mym4.js → RadioGroup-CBPRLRN0.js} +4 -4
- package/dist/{RadioGroup-Byc2mym4.js.map → RadioGroup-CBPRLRN0.js.map} +1 -1
- package/dist/{Search-Dhig_hPD.js → Search-DmkQo716.js} +3 -3
- package/dist/{Search-Dhig_hPD.js.map → Search-DmkQo716.js.map} +1 -1
- package/dist/{SearchInput-92r2bkA7.js → SearchInput-CEfQDNl3.js} +8 -13
- package/dist/SearchInput-CEfQDNl3.js.map +1 -0
- package/dist/{SectionNav-CNLJsiVG.js → SectionNav-B_qf0AXi.js} +10 -42
- package/dist/SectionNav-B_qf0AXi.js.map +1 -0
- package/dist/{Select-DV3Hak_l.js → Select-ByRvkZ3D.js} +8 -11
- package/dist/{Select-DV3Hak_l.js.map → Select-ByRvkZ3D.js.map} +1 -1
- package/dist/{Sheet-OparjIi-.js → Sheet-C-yXk5Da.js} +5 -9
- package/dist/Sheet-C-yXk5Da.js.map +1 -0
- package/dist/{Sidebar-CLEbBtNY.js → Sidebar-Ds0E6PbR.js} +16 -33
- package/dist/Sidebar-Ds0E6PbR.js.map +1 -0
- package/dist/{Slider-DLclvRws.js → Slider-DWdu9NuM.js} +3 -3
- package/dist/{Slider-DLclvRws.js.map → Slider-DWdu9NuM.js.map} +1 -1
- package/dist/{Stepper-C8sm9ZFM.js → Stepper-BLkLhfnd.js} +6 -9
- package/dist/{Stepper-C8sm9ZFM.js.map → Stepper-BLkLhfnd.js.map} +1 -1
- package/dist/{Switch-B0WdGSjz.js → Switch-DZvNePOm.js} +2 -2
- package/dist/{Switch-B0WdGSjz.js.map → Switch-DZvNePOm.js.map} +1 -1
- package/dist/{Table-CvYuTuNU.js → Table-BaVT5Tkn.js} +6 -11
- package/dist/{Table-CvYuTuNU.js.map → Table-BaVT5Tkn.js.map} +1 -1
- package/dist/{Tabs-eB974xJf.js → Tabs-Dt9oLYHC.js} +3 -3
- package/dist/{Tabs-eB974xJf.js.map → Tabs-Dt9oLYHC.js.map} +1 -1
- package/dist/{TextInput-CFTf4Cz1.js → TextInput-CDG2XpBl.js} +10 -14
- package/dist/TextInput-CDG2XpBl.js.map +1 -0
- package/dist/{ThemeProvider-DAmNn9Sd.js → ThemeProvider-DXsxFg1U.js} +13 -31
- package/dist/ThemeProvider-DXsxFg1U.js.map +1 -0
- package/dist/{TimePicker-BGeqc-Ed.js → TimePicker-CDGYrRxi.js} +2 -2
- package/dist/{TimePicker-BGeqc-Ed.js.map → TimePicker-CDGYrRxi.js.map} +1 -1
- package/dist/{Timeline-C8-wnRRr.js → Timeline-B-I6sb0M.js} +2 -2
- package/dist/{Timeline-C8-wnRRr.js.map → Timeline-B-I6sb0M.js.map} +1 -1
- package/dist/{Toast-Dr6Uw7ao.js → Toast-PfQf3vj-.js} +2 -2
- package/dist/{Toast-Dr6Uw7ao.js.map → Toast-PfQf3vj-.js.map} +1 -1
- package/dist/{Workbench-UR2FBC7I.js → Workbench-DmZzpkj7.js} +2 -2
- package/dist/{Workbench-UR2FBC7I.js.map → Workbench-DmZzpkj7.js.map} +1 -1
- package/dist/{ZoomableSvg-BZlk3PFJ.js → ZoomableSvg-BzXVfgnI.js} +5 -19
- package/dist/ZoomableSvg-BzXVfgnI.js.map +1 -0
- package/dist/charts.d.ts +21 -52
- package/dist/charts.js +13 -39
- package/dist/charts.js.map +1 -1
- package/dist/{context-D7X470dy.js → context-U293r3v-.js} +5 -9
- package/dist/context-U293r3v-.js.map +1 -0
- package/dist/editors.d.ts +27 -124
- package/dist/editors.js +29 -71
- package/dist/editors.js.map +1 -1
- package/dist/{findLiteralMatches-BGBw8Vbl.js → findLiteralMatches-DgGLzyG0.js} +8 -20
- package/dist/findLiteralMatches-DgGLzyG0.js.map +1 -0
- package/dist/flint.d.ts +3 -6
- package/dist/flint.js +31 -80
- package/dist/flint.js.map +1 -1
- package/dist/{icons-Cek151jC.js → icons-wcA70iQx.js} +105 -2
- package/dist/icons-wcA70iQx.js.map +1 -0
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +2 -2
- package/dist/{index-m-kQEWiY.d.ts → index-B7k-09i1.d.ts} +14 -2
- package/dist/index.d.ts +1151 -1838
- package/dist/index.js +68 -67
- package/dist/internal/blocks/AIKit.js +2 -2
- package/dist/internal/blocks/AppShell.js +1 -1
- package/dist/internal/blocks/AuthLayout.js +7 -27
- package/dist/internal/blocks/AuthLayout.js.map +1 -1
- package/dist/internal/blocks/AutoSaveTextarea.js +1 -1
- package/dist/internal/blocks/BrandEditor.js +1 -1
- package/dist/internal/blocks/ChartPanel.js +4 -8
- package/dist/internal/blocks/ChartPanel.js.map +1 -1
- package/dist/internal/blocks/ChipEditor.js +13 -21
- 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/DashboardHero.js +4 -7
- package/dist/internal/blocks/DashboardHero.js.map +1 -1
- package/dist/internal/blocks/DateInput.js +1 -1
- package/dist/internal/blocks/DateRangeInput.js +1 -1
- package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
- package/dist/internal/blocks/EmptyState.js +5 -9
- package/dist/internal/blocks/EmptyState.js.map +1 -1
- package/dist/internal/blocks/ErrorState.js +5 -9
- package/dist/internal/blocks/ErrorState.js.map +1 -1
- package/dist/internal/blocks/ExportMenu.js +6 -10
- package/dist/internal/blocks/ExportMenu.js.map +1 -1
- package/dist/internal/blocks/Form/connectors/ComboboxField.js +40 -0
- package/dist/internal/blocks/Form/connectors/ComboboxField.js.map +1 -0
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +5 -22
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js.map +1 -1
- package/dist/internal/blocks/Form.js +1 -1
- package/dist/internal/blocks/FormGroup.js +1 -1
- package/dist/internal/blocks/GoogleButton.js +1 -1
- package/dist/internal/blocks/MicrosoftButton.js +1 -1
- package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
- package/dist/internal/blocks/MultiCombobox.js +161 -154
- package/dist/internal/blocks/MultiCombobox.js.map +1 -1
- package/dist/internal/blocks/NumberInput.js +1 -1
- package/dist/internal/blocks/OtpInput.js +1 -1
- package/dist/internal/blocks/PageHeader.js +1 -1
- package/dist/internal/blocks/PageLayout.js +1 -1
- package/dist/internal/blocks/PageToolbar.js +1 -1
- package/dist/internal/blocks/PasswordInput.js +4 -4
- package/dist/internal/blocks/PasswordInput.js.map +1 -1
- package/dist/internal/blocks/SearchInput.js +1 -1
- package/dist/internal/blocks/SearchInputWithNavigation.js +4 -4
- package/dist/internal/blocks/SectionNav.js +1 -1
- package/dist/internal/blocks/SplitButton.js +3 -3
- package/dist/internal/blocks/StatCard.js +4 -8
- package/dist/internal/blocks/StatCard.js.map +1 -1
- package/dist/internal/blocks/TextInput.js +1 -1
- package/dist/internal/blocks/Textarea.js +2 -2
- package/dist/internal/blocks/TimeInput.js +5 -5
- 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 +1 -1
- package/dist/internal/components/ButtonGroup.js.map +1 -1
- package/dist/internal/components/Calendar.js +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 +2 -2
- package/dist/internal/components/Combobox.js +2 -2
- 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/MarkedText.js +1 -1
- package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.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/PanelWithDetails.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/Separator.js.map +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 +5 -9
- package/dist/internal/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/internal/components/Slider.js +1 -1
- package/dist/internal/components/SpotlightBackdrop.js +3 -8
- package/dist/internal/components/SpotlightBackdrop.js.map +1 -1
- package/dist/internal/components/StatusDot.js +8 -15
- package/dist/internal/components/StatusDot.js.map +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 -3
- package/dist/internal/components/TimePicker.js +1 -1
- package/dist/internal/components/Timeline.js +1 -1
- package/dist/internal/components/Toast.js +2 -2
- package/dist/internal/components/Tooltip.js +1 -1
- package/dist/internal/components/Truncated.js +4 -8
- package/dist/internal/components/Truncated.js.map +1 -1
- package/dist/internal/components/Workbench.js +1 -1
- package/dist/internal/components/ZoomableSvg.js +1 -1
- package/dist/internal/hooks/useScrollbarPosition.js +1 -1
- package/dist/internal/hooks/useStableCallback.js +4 -13
- package/dist/internal/hooks/useStableCallback.js.map +1 -1
- package/dist/internal/utils.js +2 -2
- package/dist/markdown-editor.d.ts +15 -37
- package/dist/markdown-editor.js +17 -23
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.d.ts +4 -6
- package/dist/mermaid.js +1 -1
- package/dist/rjsf.d.ts +9 -19
- package/dist/rjsf.js +44 -84
- package/dist/rjsf.js.map +1 -1
- package/dist/{styles-BAFscjSV.js → styles-gzcjOyKv.js} +6 -6
- package/dist/styles-gzcjOyKv.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/svgTransforms-Dw2hRA-i.js +51 -0
- package/dist/svgTransforms-Dw2hRA-i.js.map +1 -0
- package/dist/testing.d.ts +3 -10
- package/dist/testing.js +5 -12
- package/dist/testing.js.map +1 -1
- package/dist/themeTokens-7DEab0kp.js +31 -0
- package/dist/themeTokens-7DEab0kp.js.map +1 -0
- package/dist/{toast-DIC0iNRf.js → toast-CyXEdaCZ.js} +3 -3
- package/dist/toast-CyXEdaCZ.js.map +1 -0
- package/dist/{themeScopeContext-D7fSyb06.js → useColorSchemeState-Cw4MCXUs.js} +14 -14
- package/dist/useColorSchemeState-Cw4MCXUs.js.map +1 -0
- package/dist/{useControllableState-M6494mCT.js → useControllableState-CUYXMsfz.js} +3 -7
- package/dist/useControllableState-CUYXMsfz.js.map +1 -0
- package/dist/useElement-D-RjrGa4.js +21 -0
- package/dist/useElement-D-RjrGa4.js.map +1 -0
- package/dist/useThemeAttributes-B199Regy.js +67 -0
- package/dist/useThemeAttributes-B199Regy.js.map +1 -0
- package/dist/{utils-BW4AE8VP.js → utils-Bd28bWgm.js} +31 -26
- package/dist/utils-Bd28bWgm.js.map +1 -0
- package/dist/vega.d.ts +8 -30
- package/dist/vega.js +5 -13
- package/dist/vega.js.map +1 -1
- package/dist/{vegaTheme-CSvFEMBl.js → vegaTheme-VQMWTlBw.js} +7 -21
- package/dist/vegaTheme-VQMWTlBw.js.map +1 -0
- package/package.json +10 -9
- package/src/styles.css +120 -14
- package/src/theme.css +126 -6
- package/dist/AIKit-ELIsegJz.js.map +0 -1
- package/dist/Alert-BsIM_oFK.js.map +0 -1
- package/dist/AlertModal-BGJdaRRj.js.map +0 -1
- package/dist/AppShell-DRgJxpXW.js.map +0 -1
- package/dist/Badge-o5jURtpB.js.map +0 -1
- package/dist/BrandLogo-CoKBk4MI.js.map +0 -1
- package/dist/Breadcrumb-xqEUxfwn.js.map +0 -1
- package/dist/Button-DsRrU5F1.js.map +0 -1
- package/dist/Calendar-cG5NIJ4O.js.map +0 -1
- package/dist/Card-Dyo7055Q.js.map +0 -1
- package/dist/Checkbox-Dq5fPNrO.js.map +0 -1
- package/dist/CodeEditor-BJKJXA0c.js.map +0 -1
- package/dist/ColorInput-Bj3dfPFA.js.map +0 -1
- package/dist/ColorModeSwitch-CWt-DZGC.js.map +0 -1
- package/dist/Combobox-D8PrEqTG.js +0 -619
- package/dist/Combobox-D8PrEqTG.js.map +0 -1
- package/dist/DateRangeInput-7M9Z4cVO.js.map +0 -1
- package/dist/DateRangePicker-DjSUFjh4.js.map +0 -1
- package/dist/DropdownMenu-CgVwhDvl.js.map +0 -1
- package/dist/FieldItem-DZGIdiXE.js.map +0 -1
- package/dist/FormGroup-DR_gZ25-.js.map +0 -1
- package/dist/FullScreenModal-CN9nAs72.js.map +0 -1
- package/dist/InputGroup-Do8K2hvD.js.map +0 -1
- package/dist/Kbd-LCFMumoq.js.map +0 -1
- package/dist/MermaidDiagram-ZG0iiDV_.js.map +0 -1
- package/dist/Modal-I3VWk2oo.js.map +0 -1
- package/dist/ModalTitle-CeLM_mX9.js.map +0 -1
- package/dist/PageHeader-Q3IpCnQd.js.map +0 -1
- package/dist/PageLayout-DSVM-ASz.js.map +0 -1
- package/dist/PageToolbar-BKVJiDAL.js.map +0 -1
- package/dist/Popover-BEbQrC_P.js.map +0 -1
- package/dist/SearchInput-92r2bkA7.js.map +0 -1
- package/dist/SectionNav-CNLJsiVG.js.map +0 -1
- package/dist/Sheet-OparjIi-.js.map +0 -1
- package/dist/Sidebar-CLEbBtNY.js.map +0 -1
- package/dist/TextInput-CFTf4Cz1.js.map +0 -1
- package/dist/ThemeProvider-DAmNn9Sd.js.map +0 -1
- package/dist/ZoomableSvg-BZlk3PFJ.js.map +0 -1
- package/dist/context-D7X470dy.js.map +0 -1
- package/dist/findLiteralMatches-BGBw8Vbl.js.map +0 -1
- package/dist/icons-Cek151jC.js.map +0 -1
- package/dist/styles-BAFscjSV.js.map +0 -1
- package/dist/svgTransforms-CJAYPk7o.js +0 -81
- package/dist/svgTransforms-CJAYPk7o.js.map +0 -1
- package/dist/themeScopeContext-D7fSyb06.js.map +0 -1
- package/dist/themeTokens-qP1-55O7.js +0 -119
- package/dist/themeTokens-qP1-55O7.js.map +0 -1
- package/dist/toast-DIC0iNRf.js.map +0 -1
- package/dist/useControllableState-M6494mCT.js.map +0 -1
- package/dist/useElement-BK3AAiIf.js +0 -24
- package/dist/useElement-BK3AAiIf.js.map +0 -1
- package/dist/utils-BW4AE8VP.js.map +0 -1
- package/dist/vegaTheme-CSvFEMBl.js.map +0 -1
|
@@ -5,11 +5,9 @@ import { jsx } from "react/jsx-runtime";
|
|
|
5
5
|
/**
|
|
6
6
|
* The dot's fill.
|
|
7
7
|
*
|
|
8
|
-
* -
|
|
9
|
-
* - `neutral
|
|
10
|
-
*
|
|
11
|
-
* - A solid fill is the whole mark, so the "tint + legible foreground" rule for status _surfaces_
|
|
12
|
-
* does not apply — there is no foreground on top of it.
|
|
8
|
+
* - Brand-overridable status tokens only, never a primitive hue.
|
|
9
|
+
* - `neutral`: no state yet, or one the caller cannot resolve.
|
|
10
|
+
* - No foreground on top, so the status-surface "tint + foreground" rule does not apply.
|
|
13
11
|
*/
|
|
14
12
|
const statusDotVariants = cva([
|
|
15
13
|
"tw:inline-block",
|
|
@@ -35,17 +33,12 @@ const statusDotVariants = cva([
|
|
|
35
33
|
}
|
|
36
34
|
});
|
|
37
35
|
/**
|
|
38
|
-
* A small round state mark — the one way
|
|
36
|
+
* A small round state mark — the platform's one way to paint status as a colour.
|
|
39
37
|
*
|
|
40
|
-
* **When to use:** an entity's state beside its name in a row,
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* **
|
|
44
|
-
* two rows — pair it with text, or use `Badge` (a labelled pill) / `Alert` (a contextual message).
|
|
45
|
-
* For an in-flight *step* use `Stepper`, and for indeterminate background work `DotsLoader`.
|
|
46
|
-
* **Composition:** `tw:flex tw:items-center tw:gap-2` with the label next to it. An overlay dot on
|
|
47
|
-
* top of an icon needs a ring in the surface's own colour (`tw:ring-2 tw:ring-card`) — pass it in
|
|
48
|
-
* `className` at the call site, since only the call site knows what it overlaps.
|
|
38
|
+
* **When to use:** an entity's state beside its name in a row, header or chip.
|
|
39
|
+
* **When NOT to use:** colour alone as meaning — pair with text, or use `Badge` / `Alert`;
|
|
40
|
+
* a flow step → `Stepper`; background work → `DotsLoader`.
|
|
41
|
+
* **Composition:** a dot overlaying an icon needs a surface-coloured ring via `className`.
|
|
49
42
|
*/
|
|
50
43
|
const StatusDot = ({ ref, status, size, pulse = false, label, className, ...rest }) => /* @__PURE__ */ jsx("span", {
|
|
51
44
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDot.js","names":[],"sources":["../../../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\n\n/**\n * The dot's fill.\n *\n * -
|
|
1
|
+
{"version":3,"file":"StatusDot.js","names":[],"sources":["../../../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\n\n/**\n * The dot's fill.\n *\n * - Brand-overridable status tokens only, never a primitive hue.\n * - `neutral`: no state yet, or one the caller cannot resolve.\n * - No foreground on top, so the status-surface \"tint + foreground\" rule does not apply.\n */\nexport const statusDotVariants = cva(['tw:inline-block', 'tw:shrink-0', 'tw:rounded-full'], {\n defaultVariants: {\n status: 'neutral',\n size: 'default',\n },\n variants: {\n status: {\n success: ['tw:bg-success'],\n warning: ['tw:bg-warning'],\n info: ['tw:bg-info'],\n destructive: ['tw:bg-destructive'],\n neutral: ['tw:bg-muted-foreground'],\n },\n size: {\n default: ['tw:size-1.5'],\n large: ['tw:size-2'],\n },\n },\n});\n\ntype Props = Omit<ComponentProps<'span'>, 'children'> &\n VariantProps<typeof statusDotVariants> & {\n /** Only for work still running. */\n pulse?: boolean;\n /** Accessible name; omit when a visible label sits beside it (the dot is then `aria-hidden`). */\n label?: string;\n };\n\n/**\n * A small round state mark — the platform's one way to paint status as a colour.\n *\n * **When to use:** an entity's state beside its name in a row, header or chip.\n * **When NOT to use:** colour alone as meaning — pair with text, or use `Badge` / `Alert`;\n * a flow step → `Stepper`; background work → `DotsLoader`.\n * **Composition:** a dot overlaying an icon needs a surface-coloured ring via `className`.\n */\nexport const StatusDot = ({\n ref,\n status,\n size,\n pulse = false,\n label,\n className,\n ...rest\n}: Props) => (\n <span\n {...rest}\n ref={ref}\n data-slot=\"status-dot\"\n data-status={status ?? 'neutral'}\n {...(label == null ? { 'aria-hidden': true } : { role: 'img', 'aria-label': label })}\n className={cn(statusDotVariants({ status, size }), pulse && 'tw:animate-pulse', className)}\n />\n);\n"],"mappings":";;;;;;;;;;;AAYA,MAAa,oBAAoB,IAAI;CAAC;CAAmB;CAAe;AAAiB,GAAG;CAC1F,iBAAiB;EACf,QAAQ;EACR,MAAM;CACR;CACA,UAAU;EACR,QAAQ;GACN,SAAS,CAAC,eAAe;GACzB,SAAS,CAAC,eAAe;GACzB,MAAM,CAAC,YAAY;GACnB,aAAa,CAAC,mBAAmB;GACjC,SAAS,CAAC,wBAAwB;EACpC;EACA,MAAM;GACJ,SAAS,CAAC,aAAa;GACvB,OAAO,CAAC,WAAW;EACrB;CACF;AACF,CAAC;;;;;;;;;AAkBD,MAAa,aAAa,EACxB,KACA,QACA,MACA,QAAQ,OACR,OACA,WACA,GAAG,WAEH,oBAAC,QAAD;CACE,GAAI;CACC;CACL,aAAU;CACV,eAAa,UAAU;CACvB,GAAK,SAAS,OAAO,EAAE,eAAe,KAAK,IAAI;EAAE,MAAM;EAAO,cAAc;CAAM;CAClF,WAAW,GAAG,kBAAkB;EAAE;EAAQ;CAAK,CAAC,GAAG,SAAS,oBAAoB,SAAS;AAC1F,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Stepper } from "../../Stepper-
|
|
1
|
+
import { Stepper } from "../../Stepper-BLkLhfnd.js";
|
|
2
2
|
export { Stepper };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Switch } from "../../Switch-
|
|
1
|
+
import { Switch } from "../../Switch-DZvNePOm.js";
|
|
2
2
|
export { Switch };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Table, TableSortHeader, tableAriaSort } from "../../Table-
|
|
1
|
+
import { Table, TableSortHeader, tableAriaSort } from "../../Table-BaVT5Tkn.js";
|
|
2
2
|
export { Table, TableSortHeader, tableAriaSort };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Tabs, TabsContent } from "../../Tabs-
|
|
1
|
+
import { Tabs, TabsContent } from "../../Tabs-Dt9oLYHC.js";
|
|
2
2
|
export { Tabs, TabsContent };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { DEFAULT_BRAND_ID, DEFAULT_COLOR_SCHEME } from "../../defaults-i_xG2F_1.js";
|
|
2
|
-
import { ArgoDesignContext, useArgoDesign, useTheme } from "../../context-
|
|
3
|
-
import { ThemeProvider, ThemeScope, brandSchema, exampleCustomer, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useThemeScopeContainer } from "../../ThemeProvider-
|
|
4
|
-
export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, brandSchema, exampleCustomer, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useArgoDesign, useTheme, useThemeScopeContainer };
|
|
2
|
+
import { ArgoDesignContext, useArgoDesign, useTheme } from "../../context-U293r3v-.js";
|
|
3
|
+
import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useThemeScopeContainer } from "../../ThemeProvider-DXsxFg1U.js";
|
|
4
|
+
export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useArgoDesign, useTheme, useThemeScopeContainer };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TimePicker } from "../../TimePicker-
|
|
1
|
+
import { TimePicker } from "../../TimePicker-CDGYrRxi.js";
|
|
2
2
|
export { TimePicker };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Timeline } from "../../Timeline-
|
|
1
|
+
import { Timeline } from "../../Timeline-B-I6sb0M.js";
|
|
2
2
|
export { Timeline };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { toast } from "../../toast-
|
|
2
|
-
import { Toaster, useNotification } from "../../Toast-
|
|
1
|
+
import { toast } from "../../toast-CyXEdaCZ.js";
|
|
2
|
+
import { Toaster, useNotification } from "../../Toast-PfQf3vj-.js";
|
|
3
3
|
export { Toaster, toast, useNotification };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HINT_UNDERLINE_CLASS_NAME, Tooltip, TooltipProvider } from "../../utils-
|
|
1
|
+
import { HINT_UNDERLINE_CLASS_NAME, Tooltip, TooltipProvider } from "../../utils-Bd28bWgm.js";
|
|
2
2
|
export { HINT_UNDERLINE_CLASS_NAME, Tooltip, TooltipProvider };
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { cn } from "../../classNames-BzrkDnOD.js";
|
|
2
|
-
import { Tooltip } from "../../utils-
|
|
2
|
+
import { Tooltip } from "../../utils-Bd28bWgm.js";
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/Truncated.tsx
|
|
6
6
|
const OFFSET_TOLERANCE = 2;
|
|
7
7
|
/**
|
|
8
|
-
* Whether the text is
|
|
8
|
+
* Whether the text is cut off, on either axis.
|
|
9
9
|
*
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* inherited `white-space: nowrap` produces (e.g. inside a `Button` under a
|
|
13
|
-
* non-legacy brand).
|
|
14
|
-
* - The tolerance absorbs subpixel rounding, which would otherwise report
|
|
15
|
-
* overflow on text that fits exactly.
|
|
10
|
+
* - Horizontal covers text that cannot wrap (inherited `white-space: nowrap`).
|
|
11
|
+
* - The tolerance absorbs subpixel rounding on text that fits exactly.
|
|
16
12
|
*/
|
|
17
13
|
const hasTruncationOverflow = (m) => m.scrollHeight - OFFSET_TOLERANCE >= m.clientHeight || m.scrollWidth - OFFSET_TOLERANCE >= m.clientWidth;
|
|
18
14
|
const Truncated = ({ ref, text, tooltip = text, className, twoLines = false, noTooltip = false, tooltipVariant = "explanatory", tooltipPlacement = "top", ...rest }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Truncated.js","names":[],"sources":["../../../src/components/Truncated.tsx"],"sourcesContent":["import { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '../utils';\n\nimport { type Props as TooltipProps, Tooltip } from './Tooltip';\n\nconst OFFSET_TOLERANCE = 2;\n\ntype Metrics = Pick<HTMLElement, 'scrollWidth' | 'clientWidth' | 'scrollHeight' | 'clientHeight'>;\n\n/**\n * Whether the text is
|
|
1
|
+
{"version":3,"file":"Truncated.js","names":[],"sources":["../../../src/components/Truncated.tsx"],"sourcesContent":["import { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '../utils';\n\nimport { type Props as TooltipProps, Tooltip } from './Tooltip';\n\nconst OFFSET_TOLERANCE = 2;\n\ntype Metrics = Pick<HTMLElement, 'scrollWidth' | 'clientWidth' | 'scrollHeight' | 'clientHeight'>;\n\n/**\n * Whether the text is cut off, on either axis.\n *\n * - Horizontal covers text that cannot wrap (inherited `white-space: nowrap`).\n * - The tolerance absorbs subpixel rounding on text that fits exactly.\n */\nexport const hasTruncationOverflow = (m: Metrics): boolean =>\n m.scrollHeight - OFFSET_TOLERANCE >= m.clientHeight ||\n m.scrollWidth - OFFSET_TOLERANCE >= m.clientWidth;\n\ntype Props = {\n text: ReactNode;\n tooltip?: ReactNode;\n twoLines?: boolean;\n noTooltip?: boolean;\n tooltipVariant?: TooltipProps['variant'];\n tooltipPlacement?: TooltipProps['placement'];\n} & Omit<ComponentProps<'span'>, 'children'>;\n\nexport const Truncated = ({\n ref,\n text,\n tooltip = text,\n className,\n twoLines = false,\n noTooltip = false,\n tooltipVariant = 'explanatory',\n tooltipPlacement = 'top',\n ...rest\n}: Props) => {\n const tooltipText = typeof tooltip === 'string' ? tooltip : '';\n const [showTooltip, setShowTooltip] = useState(false);\n\n // `text-ellipsis`: the clamp draws an ellipsis only on text it wrapped, not on `nowrap` text.\n const truncatedClasses = cn(\n className,\n 'tw:[word-break:break-all] tw:text-ellipsis',\n twoLines ? 'tw:line-clamp-2 tw:[word-break:break-word]' : 'tw:line-clamp-1',\n );\n\n if (noTooltip || !tooltipText) {\n return (\n <span ref={ref} className={truncatedClasses} {...rest}>\n {text}\n </span>\n );\n }\n\n return (\n <Tooltip\n placement={tooltipPlacement}\n variant={tooltipVariant}\n forceHide={!showTooltip}\n tooltip={<div>{tooltipText}</div>}\n triggerAsChild\n >\n <span\n ref={ref}\n className={truncatedClasses}\n {...rest}\n onMouseOver={(e) => {\n setShowTooltip(hasTruncationOverflow(e.currentTarget));\n rest.onMouseOver?.(e);\n }}\n onFocus={(e) => {\n setShowTooltip(hasTruncationOverflow(e.currentTarget));\n rest.onFocus?.(e);\n }}\n >\n {text}\n </span>\n </Tooltip>\n );\n};\n"],"mappings":";;;;;AAOA,MAAM,mBAAmB;;;;;;;AAUzB,MAAa,yBAAyB,MACpC,EAAE,eAAe,oBAAoB,EAAE,gBACvC,EAAE,cAAc,oBAAoB,EAAE;AAWxC,MAAa,aAAa,EACxB,KACA,MACA,UAAU,MACV,WACA,WAAW,OACX,YAAY,OACZ,iBAAiB,eACjB,mBAAmB,OACnB,GAAG,WACQ;CACX,MAAM,cAAc,OAAO,YAAY,WAAW,UAAU;CAC5D,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CAGpD,MAAM,mBAAmB,GACvB,WACA,8CACA,WAAW,+CAA+C,iBAC5D;CAEA,IAAI,aAAa,CAAC,aAChB,OACE,oBAAC,QAAD;EAAW;EAAK,WAAW;EAAkB,GAAI;EAC9C,UAAA;CACG,CAAA;CAIV,OACE,oBAAC,SAAD;EACE,WAAW;EACX,SAAS;EACT,WAAW,CAAC;EACZ,SAAS,oBAAC,OAAD,EAAA,UAAM,YAAiB,CAAA;EAChC,gBAAA;EAEA,UAAA,oBAAC,QAAD;GACO;GACL,WAAW;GACX,GAAI;GACJ,cAAc,MAAM;IAClB,eAAe,sBAAsB,EAAE,aAAa,CAAC;IACrD,KAAK,cAAc,CAAC;GACtB;GACA,UAAU,MAAM;IACd,eAAe,sBAAsB,EAAE,aAAa,CAAC;IACrD,KAAK,UAAU,CAAC;GAClB;GAEC,UAAA;EACG,CAAA;CACC,CAAA;AAEb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Workbench, useWorkbench } from "../../Workbench-
|
|
1
|
+
import { DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Workbench, useWorkbench } from "../../Workbench-DmZzpkj7.js";
|
|
2
2
|
export { DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Workbench, useWorkbench };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "../../ZoomableSvg-
|
|
1
|
+
import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "../../ZoomableSvg-BzXVfgnI.js";
|
|
2
2
|
export { ZoomableSvg, svgToPngBlob, toSvgFileContent };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useElement } from "../../useElement-
|
|
1
|
+
import { useElement } from "../../useElement-D-RjrGa4.js";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
3
|
//#region src/hooks/useScrollbarPosition.ts
|
|
4
4
|
const calcPosition = ({ scrollHeight, clientHeight, scrollTop }) => {
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import { useCallback, useLayoutEffect, useRef } from "react";
|
|
2
2
|
//#region src/hooks/useStableCallback.ts
|
|
3
3
|
/**
|
|
4
|
-
* A callback with a
|
|
5
|
-
* render's values — for any consumer that keys off the handler's identity: a
|
|
6
|
-
* third-party component that redoes expensive work when it changes, or a
|
|
7
|
-
* memoized context value.
|
|
4
|
+
* A callback with a stable identity that always sees the latest render's values.
|
|
8
5
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* The swap is a layout effect rather than a passive one so it lands before the
|
|
14
|
-
* browser can paint and accept input against the previous render's handler. It
|
|
15
|
-
* is still an effect, and a child's runs before its parent's — so a consumer
|
|
16
|
-
* calling the returned function from its own layout effect can still see the
|
|
17
|
-
* previous render's closure.
|
|
6
|
+
* - Not `useEffectEvent`: that one must not be passed to other components.
|
|
7
|
+
* - Updated in a layout effect, so it lands before paint and input.
|
|
8
|
+
* - A child's layout effect calling it still sees the previous render's closure.
|
|
18
9
|
*/
|
|
19
10
|
const useStableCallback = (callback) => {
|
|
20
11
|
const latestRef = useRef(callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStableCallback.js","names":[],"sources":["../../../src/hooks/useStableCallback.ts"],"sourcesContent":["import { useCallback, useLayoutEffect, useRef } from 'react';\n\n/**\n * A callback with a
|
|
1
|
+
{"version":3,"file":"useStableCallback.js","names":[],"sources":["../../../src/hooks/useStableCallback.ts"],"sourcesContent":["import { useCallback, useLayoutEffect, useRef } from 'react';\n\n/**\n * A callback with a stable identity that always sees the latest render's values.\n *\n * - Not `useEffectEvent`: that one must not be passed to other components.\n * - Updated in a layout effect, so it lands before paint and input.\n * - A child's layout effect calling it still sees the previous render's closure.\n */\nexport const useStableCallback = <Args extends unknown[], Result>(\n callback: (...args: Args) => Result,\n): ((...args: Args) => Result) => {\n const latestRef = useRef(callback);\n\n useLayoutEffect(() => {\n latestRef.current = callback;\n }, [callback]);\n\n return useCallback((...args: Args) => latestRef.current(...args), []);\n};\n"],"mappings":";;;;;;;;;AASA,MAAa,qBACX,aACgC;CAChC,MAAM,YAAY,OAAO,QAAQ;CAEjC,sBAAsB;EACpB,UAAU,UAAU;CACtB,GAAG,CAAC,QAAQ,CAAC;CAEb,OAAO,aAAa,GAAG,SAAe,UAAU,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;AACtE"}
|
package/dist/internal/utils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cn } from "../classNames-BzrkDnOD.js";
|
|
2
|
-
import { DEFAULT_ENTRY_SEPARATOR, copyToClipboard, createChangeInputEvent, createPrefixedString, debounce, isMac, noop, splitEntry, useSHA256, withHiddenFullscreen, withTooltipProvider, withVisualSettle } from "../utils-
|
|
3
|
-
import { findLiteralMatches, findLiteralTermMatches, hasLiteralMatch } from "../findLiteralMatches-
|
|
2
|
+
import { DEFAULT_ENTRY_SEPARATOR, copyToClipboard, createChangeInputEvent, createPrefixedString, debounce, isMac, noop, splitEntry, useSHA256, withHiddenFullscreen, withTooltipProvider, withVisualSettle } from "../utils-Bd28bWgm.js";
|
|
3
|
+
import { findLiteralMatches, findLiteralTermMatches, hasLiteralMatch } from "../findLiteralMatches-DgGLzyG0.js";
|
|
4
4
|
import { mergeRefs } from "./utils/mergeRefs.js";
|
|
5
5
|
export { DEFAULT_ENTRY_SEPARATOR, cn, copyToClipboard, createChangeInputEvent, createPrefixedString, debounce, findLiteralMatches, findLiteralTermMatches, hasLiteralMatch, isMac, mergeRefs, noop, splitEntry, useSHA256, withHiddenFullscreen, withTooltipProvider, withVisualSettle };
|
|
@@ -4,30 +4,20 @@ type MarkdownEditorProps = {
|
|
|
4
4
|
/** Markdown string (controlled) */
|
|
5
5
|
value: string;
|
|
6
6
|
onChange?: (markdown: string) => void;
|
|
7
|
-
/**
|
|
8
|
-
* Renders content but never accepts input. Use for permanent view-only contexts
|
|
9
|
-
* (e.g. a current user lacks edit permission). Toolbar is hidden.
|
|
10
|
-
*/
|
|
7
|
+
/** Permanent view-only (e.g. no edit permission). Hides the toolbar. */
|
|
11
8
|
readOnly?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Temporarily blocks input but signals intent to re-enable
|
|
14
|
-
* (e.g. while a save is in flight). Functionally identical to `readOnly` today.
|
|
15
|
-
*/
|
|
9
|
+
/** Temporary block (e.g. save in flight). Behaves like `readOnly`. */
|
|
16
10
|
disabled?: boolean;
|
|
17
11
|
placeholder?: string;
|
|
18
12
|
autoFocus?: boolean;
|
|
19
|
-
/** Invoked on Cmd/Ctrl+Enter
|
|
13
|
+
/** Invoked on Cmd/Ctrl+Enter. */
|
|
20
14
|
onSave?: () => void;
|
|
21
15
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* reset `value` to the last-committed state inside this handler.
|
|
16
|
+
* Escape in inline-edit mode (`singleLine || saveOnBlur`).
|
|
17
|
+
* Callers reset `value` to the last-committed state here.
|
|
25
18
|
*/
|
|
26
19
|
onCancel?: () => void;
|
|
27
|
-
/**
|
|
28
|
-
* Async image upload. Resolved URL is embedded as the image src
|
|
29
|
-
* (`` in the underlying markdown).
|
|
30
|
-
*/
|
|
20
|
+
/** The resolved URL becomes the image src in the markdown. */
|
|
31
21
|
onImageUpload?: (file: File) => Promise<{
|
|
32
22
|
url: string;
|
|
33
23
|
}>;
|
|
@@ -38,38 +28,26 @@ type MarkdownEditorProps = {
|
|
|
38
28
|
}) => ReactNode;
|
|
39
29
|
showToolbar?: boolean;
|
|
40
30
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* affordances inside headings, list rows, or table cells. Pair with `className` to set
|
|
44
|
-
* the caller's typography.
|
|
31
|
+
* No prose wrapper, min-height or padding — blends into surrounding text for inline editing.
|
|
32
|
+
* Set typography via `className`.
|
|
45
33
|
*/
|
|
46
34
|
compact?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Calls `onSave` when focus leaves the editor (and is not moved into the toolbar).
|
|
49
|
-
* `onChange` already keeps the caller's value in sync — `onSave` is the "commit" signal.
|
|
50
|
-
*/
|
|
35
|
+
/** Calls `onSave` when focus leaves the editor (the toolbar doesn't count). */
|
|
51
36
|
saveOnBlur?: boolean;
|
|
52
37
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* line break. Use for editable titles.
|
|
38
|
+
* No block-level markdown; Enter blurs the editor, Shift+Enter inserts a soft break.
|
|
39
|
+
* Use for editable titles.
|
|
56
40
|
*/
|
|
57
41
|
singleLine?: boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Clamps content to 2 lines (truncating with an ellipsis) in the display (not-focused)
|
|
60
|
-
* state; focus expands the editor to full height (no clamp). `line-clamp` is self-gating,
|
|
61
|
-
* so short/empty content renders fully with no truncation. Per the inline-editable-text
|
|
62
|
-
* pattern spec for description-style slots.
|
|
63
|
-
*/
|
|
42
|
+
/** Clamps to 2 lines with an ellipsis while not focused; focus shows everything. */
|
|
64
43
|
clampDisplay?: boolean;
|
|
65
44
|
/**
|
|
66
|
-
* Minimum
|
|
67
|
-
*
|
|
68
|
-
* Omit to keep the default ~4-line floor. Ignored in `compact` mode (which has no floor).
|
|
45
|
+
* Minimum height in lines; `0` removes the floor. Default ~4 lines.
|
|
46
|
+
* Ignored in `compact` mode.
|
|
69
47
|
*/
|
|
70
48
|
minRows?: number;
|
|
71
49
|
};
|
|
72
|
-
declare const MarkdownEditor: ({ value, onChange, readOnly, placeholder, autoFocus, disabled, onSave, onCancel, onImageUpload, className, imageRenderer, showToolbar, compact, saveOnBlur, singleLine, clampDisplay, minRows }: MarkdownEditorProps) => import("react
|
|
50
|
+
declare const MarkdownEditor: ({ value, onChange, readOnly, placeholder, autoFocus, disabled, onSave, onCancel, onImageUpload, className, imageRenderer, showToolbar, compact, saveOnBlur, singleLine, clampDisplay, minRows }: MarkdownEditorProps) => import("react").JSX.Element;
|
|
73
51
|
//#endregion
|
|
74
52
|
export { MarkdownEditor, type MarkdownEditorProps };
|
|
75
53
|
//# sourceMappingURL=markdown-editor.d.ts.map
|
package/dist/markdown-editor.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { cn } from "./classNames-BzrkDnOD.js";
|
|
2
|
-
import { Tooltip } from "./utils-
|
|
3
|
-
import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, ChevronDown, Code, Heading1, Heading2, Heading3, Italic, Link, List, ListOrdered, Quote, SquareCode, Strikethrough, Type, Underline } from "./icons-
|
|
4
|
-
import { Button } from "./Button-
|
|
2
|
+
import { Tooltip } from "./utils-Bd28bWgm.js";
|
|
3
|
+
import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, ChevronDown, Code, Heading1, Heading2, Heading3, Italic, Link, List, ListOrdered, Quote, SquareCode, Strikethrough, Type, Underline } from "./icons-wcA70iQx.js";
|
|
4
|
+
import { Button } from "./Button-Ca4Q3VJU.js";
|
|
5
5
|
import { ButtonGroup } from "./internal/components/ButtonGroup.js";
|
|
6
|
-
import { DropdownMenu } from "./DropdownMenu-
|
|
6
|
+
import { DropdownMenu } from "./DropdownMenu-gRM-A8qU.js";
|
|
7
7
|
import { Label } from "./internal/components/Label.js";
|
|
8
8
|
import { useStableCallback } from "./internal/hooks/useStableCallback.js";
|
|
9
|
-
import { TextInput } from "./TextInput-
|
|
10
|
-
import { FormGroup } from "./FormGroup-
|
|
9
|
+
import { TextInput } from "./TextInput-CDG2XpBl.js";
|
|
10
|
+
import { FormGroup } from "./FormGroup-CmNiAtU6.js";
|
|
11
11
|
import { Skeleton } from "./internal/components/Skeleton/Skeleton.js";
|
|
12
|
-
import { toast } from "./toast-
|
|
12
|
+
import { toast } from "./toast-CyXEdaCZ.js";
|
|
13
13
|
import { Suspense, createContext, lazy, use, useCallback, useEffect, useRef, useState } from "react";
|
|
14
14
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
import { createPortal } from "react-dom";
|
|
@@ -141,7 +141,7 @@ const $isImageNode = (node) => {
|
|
|
141
141
|
};
|
|
142
142
|
//#endregion
|
|
143
143
|
//#region src/blocks/MarkdownEditor/nodes/MermaidNodeComponent.tsx
|
|
144
|
-
const MermaidDiagram = lazy(() => import("./MermaidDiagram-
|
|
144
|
+
const MermaidDiagram = lazy(() => import("./MermaidDiagram-BQvz6bhv.js").then((n) => n.MermaidDiagram_exports).then((m) => ({ default: m.MermaidDiagram }), (error) => {
|
|
145
145
|
console.error("[MarkdownEditor] failed to load MermaidDiagram chunk", error);
|
|
146
146
|
return { default: ({ code }) => /* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { children: code }) }) };
|
|
147
147
|
}));
|
|
@@ -340,9 +340,10 @@ const KeyboardPlugin = ({ onSave, onCancel, singleLine, blurOnEscape, skipBlurSa
|
|
|
340
340
|
return null;
|
|
341
341
|
};
|
|
342
342
|
/**
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
*
|
|
343
|
+
* Our transformers plus Lexical's built-ins; order matters.
|
|
344
|
+
*
|
|
345
|
+
* - MERMAID precedes TRANSFORMERS, so it wins over the generic CODE transformer.
|
|
346
|
+
* - IMAGE precedes LINK, so `` is not parsed as `!` + link.
|
|
346
347
|
*/
|
|
347
348
|
const CUSTOM_TRANSFORMERS = [
|
|
348
349
|
{
|
|
@@ -409,13 +410,10 @@ const CUSTOM_TRANSFORMERS = [
|
|
|
409
410
|
...TRANSFORMERS
|
|
410
411
|
];
|
|
411
412
|
/**
|
|
412
|
-
* No transformers
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
* then leak into the persisted name. Dropping every transformer keeps `_`, `*`, `` ` ``, `~`
|
|
417
|
-
* literal on both import and export; pair the empty set with `unescapeMarkdownText` on export
|
|
418
|
-
* to strip Lexical's escaping (see MarkdownSyncPlugin).
|
|
413
|
+
* No transformers: `singleLine` mode edits plain-text entity names, not markdown.
|
|
414
|
+
*
|
|
415
|
+
* - Inline formatting would corrupt names like `a_b_c` (italics, then `\_` on export).
|
|
416
|
+
* - Pair with `unescapeMarkdownText` on export (see MarkdownSyncPlugin).
|
|
419
417
|
*/
|
|
420
418
|
const SINGLE_LINE_TRANSFORMERS = [];
|
|
421
419
|
const TABLE_FENCE_LANG = "__kbc_table__";
|
|
@@ -463,11 +461,7 @@ const postprocessMarkdown = (markdown) => {
|
|
|
463
461
|
const regex = new RegExp(`\`\`\`${TABLE_FENCE_LANG}\\n([\\s\\S]*?)\\n\`\`\``, "g");
|
|
464
462
|
return markdown.replace(regex, "$1");
|
|
465
463
|
};
|
|
466
|
-
/**
|
|
467
|
-
* Reverses the backslash-escaping Lexical applies to markdown punctuation (`* _ ` ~ \`) when
|
|
468
|
-
* exporting text nodes. Used for `singleLine` (plain-text) mode, where the export value is a
|
|
469
|
-
* bare entity name — the escaping would otherwise persist as literal backslashes in the name.
|
|
470
|
-
*/
|
|
464
|
+
/** Reverses Lexical's export escaping of `* _ ` ~ \`, for `singleLine` plain-text names. */
|
|
471
465
|
const unescapeMarkdownText = (markdown) => markdown.replace(/\\([*_`~\\])/g, "$1");
|
|
472
466
|
//#endregion
|
|
473
467
|
//#region src/blocks/MarkdownEditor/plugins/MarkdownSyncPlugin.tsx
|