@keboola/design 11.9.0 → 13.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 +45 -14
- package/CHANGELOG.md +246 -0
- package/COMPONENT-API.md +352 -294
- package/README.md +11 -1
- package/dist/{AIKit-ELIsegJz.js → AIKit-DcOlHIBr.js} +420 -247
- package/dist/AIKit-DcOlHIBr.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-mbSnuuka.js} +8 -8
- package/dist/AlertModal-mbSnuuka.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-Bkd6dhb8.js} +7 -7
- package/dist/{BrandEditor-BsTBM3s6.js.map → BrandEditor-Bkd6dhb8.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-BUoAZyhO.js} +8 -14
- package/dist/Breadcrumb-BUoAZyhO.js.map +1 -0
- package/dist/{Button-DsRrU5F1.js → Button-B21oVcPU.js} +31 -14
- package/dist/Button-B21oVcPU.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-BQmBWHXl.js} +35 -7
- package/dist/Card-BQmBWHXl.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-srUgWgwH.js} +4 -4
- package/dist/{ClipboardButton-KHQnPEh_.js.map → ClipboardButton-srUgWgwH.js.map} +1 -1
- package/dist/{CodeEditor-BJKJXA0c.js → CodeEditor-jZMw1ioj.js} +55 -165
- package/dist/CodeEditor-jZMw1ioj.js.map +1 -0
- package/dist/{ColorInput-Bj3dfPFA.js → ColorInput-B3gBZ8Ya.js} +12 -27
- package/dist/ColorInput-B3gBZ8Ya.js.map +1 -0
- package/dist/{ColorModeSwitch-CWt-DZGC.js → ColorModeSwitch-Bw9wMyoL.js} +7 -17
- package/dist/ColorModeSwitch-Bw9wMyoL.js.map +1 -0
- package/dist/Combobox-C_MTpQ1l.js +1081 -0
- package/dist/Combobox-C_MTpQ1l.js.map +1 -0
- package/dist/{Command-BDU3C1gg.js → Command-BQPiZCNz.js} +4 -4
- package/dist/{Command-BDU3C1gg.js.map → Command-BQPiZCNz.js.map} +1 -1
- package/dist/{CopyField-BHRQUyuF.js → CopyField-Ba7h8MqZ.js} +19 -55
- package/dist/{CopyField-BHRQUyuF.js.map → CopyField-Ba7h8MqZ.js.map} +1 -1
- package/dist/{DateInput-B6N8g0ra.js → DateInput-D0nWUasV.js} +6 -6
- package/dist/{DateInput-B6N8g0ra.js.map → DateInput-D0nWUasV.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-i6wE45-V.js} +10 -14
- package/dist/DateRangeInput-i6wE45-V.js.map +1 -0
- package/dist/{DateRangePicker-DjSUFjh4.js → DateRangePicker-BAnuz6vO.js} +9 -13
- package/dist/DateRangePicker-BAnuz6vO.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-BHViBJS3.js} +12 -25
- package/dist/FieldItem-BHViBJS3.js.map +1 -0
- package/dist/{FieldItem-vhIJW4pj.d.ts → FieldItem-CPN1xjN5.d.ts} +11 -25
- package/dist/{FileUpload-DYQCTGjU.js → FileUpload-Ch2hrIWq.js} +11 -16
- package/dist/{FileUpload-DYQCTGjU.js.map → FileUpload-Ch2hrIWq.js.map} +1 -1
- package/dist/{Form-CcK7dRrC.js → Form-VkzfVPyT.js} +15 -23
- package/dist/{Form-CcK7dRrC.js.map → Form-VkzfVPyT.js.map} +1 -1
- package/dist/{FormGroup-DR_gZ25-.js → FormGroup-CmCppxOn.js} +11 -17
- package/dist/FormGroup-CmCppxOn.js.map +1 -0
- package/dist/{FullScreenModal-CN9nAs72.js → FullScreenModal-Cwnm8WdM.js} +15 -29
- package/dist/FullScreenModal-Cwnm8WdM.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-CrlMRz4X.js} +11 -13
- package/dist/InputGroup-CrlMRz4X.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-B30x2yV7.js} +16 -34
- package/dist/MermaidDiagram-B30x2yV7.js.map +1 -0
- package/dist/{Modal-I3VWk2oo.js → Modal-BkSuS9Yz.js} +17 -34
- package/dist/Modal-BkSuS9Yz.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-AWLj1Tg7.js} +3 -3
- package/dist/{MultiActionButtonGroup-CYZ8IgSf.js.map → MultiActionButtonGroup-AWLj1Tg7.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-CIW0VmKe.js} +12 -42
- package/dist/PageToolbar-CIW0VmKe.js.map +1 -0
- package/dist/{Pagination-C_b7Xhey.js → Pagination-DH3f6LN0.js} +3 -3
- package/dist/{Pagination-C_b7Xhey.js.map → Pagination-DH3f6LN0.js.map} +1 -1
- package/dist/{Popconfirm-5pBzT_HQ.js → Popconfirm-Dhzn7sy6.js} +3 -3
- package/dist/{Popconfirm-5pBzT_HQ.js.map → Popconfirm-Dhzn7sy6.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-D3qMkHaW.js} +8 -13
- package/dist/SearchInput-D3qMkHaW.js.map +1 -0
- package/dist/{SectionNav-CNLJsiVG.js → SectionNav-TU5i3JeM.js} +10 -42
- package/dist/SectionNav-TU5i3JeM.js.map +1 -0
- package/dist/{Select-DV3Hak_l.js → Select-B4uK0QVm.js} +10 -12
- package/dist/Select-B4uK0QVm.js.map +1 -0
- package/dist/{Sheet-OparjIi-.js → Sheet-D0fAE14T.js} +5 -9
- package/dist/Sheet-D0fAE14T.js.map +1 -0
- package/dist/{Sidebar-CLEbBtNY.js → Sidebar-ZLMNIbg5.js} +16 -33
- package/dist/Sidebar-ZLMNIbg5.js.map +1 -0
- package/dist/{Slider-DLclvRws.js → Slider-B0ou9r0B.js} +3 -3
- package/dist/{Slider-DLclvRws.js.map → Slider-B0ou9r0B.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-CTDmye1N.js} +3 -3
- package/dist/{Tabs-eB974xJf.js.map → Tabs-CTDmye1N.js.map} +1 -1
- package/dist/{TextInput-CFTf4Cz1.js → TextInput-BWYXbfs4.js} +10 -14
- package/dist/TextInput-BWYXbfs4.js.map +1 -0
- package/dist/{ThemeProvider-DAmNn9Sd.js → ThemeProvider-VF38VfUa.js} +13 -31
- package/dist/ThemeProvider-VF38VfUa.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-C65nta_r.js} +5 -19
- package/dist/ZoomableSvg-C65nta_r.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 +1180 -1867
- package/dist/index.js +69 -68
- 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 +160 -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 +3 -3
- package/dist/internal/components/CollapsiblePanel.js.map +1 -1
- 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/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/accessibleName.js +11 -0
- package/dist/internal/utils/accessibleName.js.map +1 -0
- 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 +7 -15
- 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 +28 -27
- package/src/styles.css +120 -14
- package/src/theme.css +130 -5
- 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/Select-DV3Hak_l.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/internal/components/StatusDot.js +0 -67
- package/dist/internal/components/StatusDot.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpotlightBackdrop.js","names":[],"sources":["../../../src/components/SpotlightBackdrop/SpotlightBackdrop.tsx","../../../src/components/SpotlightBackdrop/useTargetRect.ts"],"sourcesContent":["import { type MouseEventHandler, useId } from 'react';\n\nimport { cn } from '../../utils';\n\nimport type { TargetRect } from './useTargetRect';\n\ntype Props = {\n /**
|
|
1
|
+
{"version":3,"file":"SpotlightBackdrop.js","names":[],"sources":["../../../src/components/SpotlightBackdrop/SpotlightBackdrop.tsx","../../../src/components/SpotlightBackdrop/useTargetRect.ts"],"sourcesContent":["import { type MouseEventHandler, useId } from 'react';\n\nimport { cn } from '../../utils';\n\nimport type { TargetRect } from './useTargetRect';\n\ntype Props = {\n /** Box to cut out, or `null` to dim everything. */\n rect: TargetRect | null;\n /** In px. */\n padding?: number;\n /** In px. */\n radius?: number;\n className?: string;\n /** Fires for clicks on the dim only — a click in the cut-out reaches the target. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n};\n\n/**\n * Full-viewport dim with a spotlight cut-out around `rect`.\n *\n * - Presentational: `rect` from `useTargetRect`, callout via `Popover`.\n * - Tour steps and \"seen\" persistence are app-owned — see the \"Guided tour (recipe)\" story.\n */\nexport const SpotlightBackdrop = ({ rect, padding = 8, radius = 8, className, onClick }: Props) => {\n const maskId = useId();\n\n const cutout = rect\n ? {\n x: rect.left - padding,\n y: rect.top - padding,\n width: rect.width + padding * 2,\n height: rect.height + padding * 2,\n }\n : null;\n\n return (\n // - z above the portalled surface tier (1055); the callout must sit higher still.\n // - Only the painted dim takes pointer events, so the cut-out stays clickable.\n <div\n aria-hidden\n onClick={onClick}\n className={cn('tw:pointer-events-none tw:fixed tw:inset-0 tw:z-[1056]', className)}\n >\n <svg width=\"100%\" height=\"100%\" className=\"tw:size-full\">\n <defs>\n <mask id={maskId}>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"white\" />\n {cutout && (\n <rect\n x={cutout.x}\n y={cutout.y}\n width={cutout.width}\n height={cutout.height}\n rx={radius}\n ry={radius}\n fill=\"black\"\n />\n )}\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"100%\"\n height=\"100%\"\n mask={`url(#${maskId})`}\n className=\"tw:pointer-events-auto tw:fill-foreground/50\"\n />\n </svg>\n </div>\n );\n};\n","import { type RefObject, useLayoutEffect, useState } from 'react';\n\n/** Viewport-relative box of the highlighted target. */\nexport type TargetRect = {\n top: number;\n left: number;\n width: number;\n height: number;\n};\n\n/** Element to track: a CSS selector, a React ref, or nothing (centered/no target). */\nexport type SpotlightTarget = string | RefObject<Element | null> | undefined;\n\nconst resolveElement = (target: SpotlightTarget): Element | null => {\n if (!target) return null;\n if (typeof target !== 'string') return target.current;\n try {\n return document.querySelector(target);\n } catch (error) {\n // An invalid selector throws a DOMException; don't crash the render.\n console.error(`useTargetRect: invalid target selector \"${target}\"`, error);\n return null;\n }\n};\n\n/**\n * Resolves a `target` (CSS selector or React ref) to a live viewport rect and\n * keeps it in sync while `enabled` — re-measuring on resize and scroll so an\n * anchored overlay (e.g. `SpotlightBackdrop` + `Popover`) follows the element.\n * Returns `null` when disabled or the target is absent, so callers can fall\n * back to a centered/full-dim layout.\n */\nexport const useTargetRect = (target: SpotlightTarget, enabled: boolean): TargetRect | null => {\n const [rect, setRect] = useState<TargetRect | null>(null);\n\n useLayoutEffect(() => {\n if (!enabled || !target) {\n setRect(null);\n return;\n }\n\n let frame = 0;\n // Cap the lazy-mount poll so a permanently-absent target settles on `null`\n // instead of spinning a frame forever. ~1s at 60fps is ample for a target\n // that mounts a tick or two after the overlay opens.\n let attemptsLeft = 60;\n\n const same = (a: TargetRect | null, b: TargetRect) => {\n if (a === null) return false;\n return a.top === b.top && a.left === b.left && a.width === b.width && a.height === b.height;\n };\n\n // Re-resolve on every measure: the target may mount lazily after the overlay\n // opens, so we poll (rAF) until it appears — up to `attemptsLeft` frames —\n // then track it on resize/scroll. Until then `rect` stays `null` and the\n // caller falls back to a centered/full-dim layout. State only updates when\n // the rect actually changed, avoiding needless re-renders.\n const measure = () => {\n const element = resolveElement(target);\n if (!element) {\n setRect(null);\n if (attemptsLeft > 0) {\n attemptsLeft -= 1;\n frame = requestAnimationFrame(measure);\n }\n return;\n }\n const box = element.getBoundingClientRect();\n const next = { top: box.top, left: box.left, width: box.width, height: box.height };\n setRect((prev) => (same(prev, next) ? prev : next));\n };\n\n // Coalesce scroll/resize bursts to at most one measure per animation frame.\n const scheduleMeasure = () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(measure);\n };\n\n measure();\n window.addEventListener('resize', scheduleMeasure, { passive: true });\n window.addEventListener('scroll', scheduleMeasure, { capture: true, passive: true });\n\n return () => {\n cancelAnimationFrame(frame);\n window.removeEventListener('resize', scheduleMeasure);\n window.removeEventListener('scroll', scheduleMeasure, true);\n };\n }, [target, enabled]);\n\n return rect;\n};\n"],"mappings":";;;;;;;;;;AAwBA,MAAa,qBAAqB,EAAE,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,cAAqB;CACjG,MAAM,SAAS,MAAM;CAErB,MAAM,SAAS,OACX;EACE,GAAG,KAAK,OAAO;EACf,GAAG,KAAK,MAAM;EACd,OAAO,KAAK,QAAQ,UAAU;EAC9B,QAAQ,KAAK,SAAS,UAAU;CAClC,IACA;CAEJ,OAGE,oBAAC,OAAD;EACE,eAAA;EACS;EACT,WAAW,GAAG,0DAA0D,SAAS;EAEjF,UAAA,qBAAC,OAAD;GAAK,OAAM;GAAO,QAAO;GAAO,WAAU;GAA1C,UAAA,CACE,oBAAC,QAAD,EAAA,UACE,qBAAC,QAAD;IAAM,IAAI;IAAV,UAAA,CACE,oBAAC,QAAD;KAAM,GAAE;KAAI,GAAE;KAAI,OAAM;KAAO,QAAO;KAAO,MAAK;IAAS,CAAA,GAC1D,UACC,oBAAC,QAAD;KACE,GAAG,OAAO;KACV,GAAG,OAAO;KACV,OAAO,OAAO;KACd,QAAQ,OAAO;KACf,IAAI;KACJ,IAAI;KACJ,MAAK;IACN,CAAA,CAEC;GACF,CAAA,EAAA,CAAA,GACN,oBAAC,QAAD;IACE,GAAE;IACF,GAAE;IACF,OAAM;IACN,QAAO;IACP,MAAM,QAAQ,OAAO;IACrB,WAAU;GACX,CAAA,CACE;;CACF,CAAA;AAET;;;AC3DA,MAAM,kBAAkB,WAA4C;CAClE,IAAI,CAAC,QAAQ,OAAO;CACpB,IAAI,OAAO,WAAW,UAAU,OAAO,OAAO;CAC9C,IAAI;EACF,OAAO,SAAS,cAAc,MAAM;CACtC,SAAS,OAAO;EAEd,QAAQ,MAAM,2CAA2C,OAAO,IAAI,KAAK;EACzE,OAAO;CACT;AACF;;;;;;;;AASA,MAAa,iBAAiB,QAAyB,YAAwC;CAC7F,MAAM,CAAC,MAAM,WAAW,SAA4B,IAAI;CAExD,sBAAsB;EACpB,IAAI,CAAC,WAAW,CAAC,QAAQ;GACvB,QAAQ,IAAI;GACZ;EACF;EAEA,IAAI,QAAQ;EAIZ,IAAI,eAAe;EAEnB,MAAM,QAAQ,GAAsB,MAAkB;GACpD,IAAI,MAAM,MAAM,OAAO;GACvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;EACvF;EAOA,MAAM,gBAAgB;GACpB,MAAM,UAAU,eAAe,MAAM;GACrC,IAAI,CAAC,SAAS;IACZ,QAAQ,IAAI;IACZ,IAAI,eAAe,GAAG;KACpB,gBAAgB;KAChB,QAAQ,sBAAsB,OAAO;IACvC;IACA;GACF;GACA,MAAM,MAAM,QAAQ,sBAAsB;GAC1C,MAAM,OAAO;IAAE,KAAK,IAAI;IAAK,MAAM,IAAI;IAAM,OAAO,IAAI;IAAO,QAAQ,IAAI;GAAO;GAClF,SAAS,SAAU,KAAK,MAAM,IAAI,IAAI,OAAO,IAAK;EACpD;EAGA,MAAM,wBAAwB;GAC5B,qBAAqB,KAAK;GAC1B,QAAQ,sBAAsB,OAAO;EACvC;EAEA,QAAQ;EACR,OAAO,iBAAiB,UAAU,iBAAiB,EAAE,SAAS,KAAK,CAAC;EACpE,OAAO,iBAAiB,UAAU,iBAAiB;GAAE,SAAS;GAAM,SAAS;EAAK,CAAC;EAEnF,aAAa;GACX,qBAAqB,KAAK;GAC1B,OAAO,oBAAoB,UAAU,eAAe;GACpD,OAAO,oBAAoB,UAAU,iBAAiB,IAAI;EAC5D;CACF,GAAG,CAAC,QAAQ,OAAO,CAAC;CAEpB,OAAO;AACT"}
|
|
@@ -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-CTDmye1N.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,
|
|
4
|
-
export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, brandSchema, exampleCustomer, keboola, keboolaLegacySidebar,
|
|
2
|
+
import { ArgoDesignContext, useArgoDesign, useTheme } from "../../context-U293r3v-.js";
|
|
3
|
+
import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, useThemeScopeContainer } from "../../ThemeProvider-VF38VfUa.js";
|
|
4
|
+
export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, 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-C65nta_r.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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/accessibleName.ts
|
|
2
|
+
/**
|
|
3
|
+
* Passes the rest of a destructure on as the control's accessible name.
|
|
4
|
+
*
|
|
5
|
+
* - A prop left in the rest, besides the three names, fails type-check.
|
|
6
|
+
*/
|
|
7
|
+
const forwardAccessibleName = (rest) => rest;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { forwardAccessibleName };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=accessibleName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibleName.js","names":[],"sources":["../../../src/utils/accessibleName.ts"],"sourcesContent":["type AccessibleNameProps = { id?: string; 'aria-label'?: string; 'aria-labelledby'?: string };\n\n/**\n * `Props` with one accessible-name route required: `aria-label`, `aria-labelledby` or `id`.\n *\n * - An either-or union: the props keep their own types, and more than one may be passed.\n * - `id` counts only when a `<Label htmlFor>` points at it — the type cannot check that pair.\n * - Forward the three as one rest object: destructured apart, they become three optional props.\n */\nexport type WithAccessibleName<Props> = Props &\n AccessibleNameProps &\n (\n | Required<Pick<Props & AccessibleNameProps, 'aria-label'>>\n | Required<Pick<Props & AccessibleNameProps, 'aria-labelledby'>>\n | Required<Pick<Props & AccessibleNameProps, 'id'>>\n );\n\ntype AccessibleNameRest<Rest> = keyof Rest extends keyof AccessibleNameProps ? Rest : never;\n\n/**\n * Passes the rest of a destructure on as the control's accessible name.\n *\n * - A prop left in the rest, besides the three names, fails type-check.\n */\nexport const forwardAccessibleName = <Rest>(rest: Rest & AccessibleNameRest<Rest>): Rest => rest;\n"],"mappings":";;;;;;AAwBA,MAAa,yBAA+B,SAAgD"}
|
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-B21oVcPU.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-BWYXbfs4.js";
|
|
10
|
+
import { FormGroup } from "./FormGroup-CmCppxOn.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-B30x2yV7.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
|