@neo4j-ndl/react 4.20.1 → 4.21.1
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/lib/cjs/_common/export-stories-utils.js +1 -1
- package/lib/cjs/_common/export-stories-utils.js.map +1 -1
- package/lib/cjs/_common/utils.js +3 -3
- package/lib/cjs/_common/utils.js.map +1 -1
- package/lib/cjs/_generated/style-rules/color-utils.js +3 -0
- package/lib/cjs/_generated/style-rules/color-utils.js.map +1 -1
- package/lib/cjs/_generated/style-rules/date-utils.js +14 -13
- package/lib/cjs/_generated/style-rules/date-utils.js.map +1 -1
- package/lib/cjs/_generated/style-rules/literal-schemas.js +5 -3
- package/lib/cjs/_generated/style-rules/literal-schemas.js.map +1 -1
- package/lib/cjs/ai/code-preview/CodePreview.js +1 -1
- package/lib/cjs/ai/code-preview/CodePreview.js.map +1 -1
- package/lib/cjs/ai/file-tag/FileTag.js.map +1 -1
- package/lib/cjs/ai/image-tag/ImageTag.js.map +1 -1
- package/lib/cjs/ai/prompt/Prompt.js +10 -10
- package/lib/cjs/ai/prompt/Prompt.js.map +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js.map +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-context.story.js +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-context.story.js.map +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-default.story.js +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-default.story.js.map +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-header.story.js +1 -1
- package/lib/cjs/ai/prompt/stories/prompt-header.story.js.map +1 -1
- package/lib/cjs/ai/response/Response.js +4 -4
- package/lib/cjs/ai/response/Response.js.map +1 -1
- package/lib/cjs/ai/response/stories/response-full-example.story.js +1 -1
- package/lib/cjs/ai/response/stories/response-full-example.story.js.map +1 -1
- package/lib/cjs/ai/suggestion/Suggestion.js.map +1 -1
- package/lib/cjs/ai/thinking/thinking-duration-formatter.js +5 -5
- package/lib/cjs/ai/thinking/thinking-duration-formatter.js.map +1 -1
- package/lib/cjs/banner/Banner.js +2 -2
- package/lib/cjs/banner/Banner.js.map +1 -1
- package/lib/cjs/button/ButtonBase.js +4 -4
- package/lib/cjs/button/ButtonBase.js.map +1 -1
- package/lib/cjs/code/Code.js +3 -3
- package/lib/cjs/code/Code.js.map +1 -1
- package/lib/cjs/code-block/CodeBlock.js +2 -2
- package/lib/cjs/code-block/CodeBlock.js.map +1 -1
- package/lib/cjs/color-picker/ColorPicker.js +22 -22
- package/lib/cjs/color-picker/ColorPicker.js.map +1 -1
- package/lib/cjs/color-picker/stories/color-picker-custom-swatches.story.js +20 -20
- package/lib/cjs/color-picker/stories/color-picker-custom-swatches.story.js.map +1 -1
- package/lib/cjs/color-picker/stories/color-picker-default.story.js +4 -4
- package/lib/cjs/color-picker/stories/color-picker-default.story.js.map +1 -1
- package/lib/cjs/color-picker/stories/color-picker-dialog.story.js +4 -4
- package/lib/cjs/color-picker/stories/color-picker-dialog.story.js.map +1 -1
- package/lib/cjs/color-picker/stories/color-picker-without-eyedropper.story.js +4 -4
- package/lib/cjs/color-picker/stories/color-picker-without-eyedropper.story.js.map +1 -1
- package/lib/cjs/combobox/stories/combobox-large-data-set.story.js +1 -1
- package/lib/cjs/combobox/stories/combobox-large-data-set.story.js.map +1 -1
- package/lib/cjs/data-grid/Components.js +20 -20
- package/lib/cjs/data-grid/Components.js.map +1 -1
- package/lib/cjs/data-grid/DataGrid.js +3 -3
- package/lib/cjs/data-grid/DataGrid.js.map +1 -1
- package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js +55 -54
- package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js.map +1 -1
- package/lib/cjs/data-grid/data-grid-nav/helpers.js +1 -1
- package/lib/cjs/data-grid/data-grid-nav/helpers.js.map +1 -1
- package/lib/cjs/data-grid/data-grid-nav/index.js +2 -2
- package/lib/cjs/data-grid/data-grid-nav/index.js.map +1 -1
- package/lib/cjs/data-grid/helpers/index.js +42 -40
- package/lib/cjs/data-grid/helpers/index.js.map +1 -1
- package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js +10 -7
- package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
- package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js +10 -7
- package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
- package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +5 -5
- package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
- package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js +1 -1
- package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
- package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js +5 -5
- package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
- package/lib/cjs/data-grid/style-rules/evaluate.js +23 -23
- package/lib/cjs/data-grid/style-rules/evaluate.js.map +1 -1
- package/lib/cjs/data-grid/style-rules/types.js +1 -1
- package/lib/cjs/data-grid/style-rules/types.js.map +1 -1
- package/lib/cjs/dialog/Dialog.js +5 -5
- package/lib/cjs/dialog/Dialog.js.map +1 -1
- package/lib/cjs/dialog/dialog-types.js.map +1 -1
- package/lib/cjs/drawer/Drawer.js +5 -5
- package/lib/cjs/drawer/Drawer.js.map +1 -1
- package/lib/cjs/dropdown-button/DropdownButton.js +4 -4
- package/lib/cjs/dropdown-button/DropdownButton.js.map +1 -1
- package/lib/cjs/dropzone/stories/dropzone-full.story.js +1 -1
- package/lib/cjs/dropzone/stories/dropzone-full.story.js.map +1 -1
- package/lib/cjs/flex/stories/flex-default.story.js +1 -1
- package/lib/cjs/flex/stories/flex-default.story.js.map +1 -1
- package/lib/cjs/hooks/index.js +3 -3
- package/lib/cjs/hooks/index.js.map +1 -1
- package/lib/cjs/icon-button-base/IconButtonBase.js +4 -4
- package/lib/cjs/icon-button-base/IconButtonBase.js.map +1 -1
- package/lib/cjs/icons/generated/custom/ScatterPlot.js +30 -0
- package/lib/cjs/icons/generated/custom/ScatterPlot.js.map +1 -0
- package/lib/cjs/icons/generated/custom/index.js +4 -2
- package/lib/cjs/icons/generated/custom/index.js.map +1 -1
- package/lib/cjs/inline-edit/InlineEdit.js +8 -8
- package/lib/cjs/inline-edit/InlineEdit.js.map +1 -1
- package/lib/cjs/kbd/kbd-utils.js +2 -2
- package/lib/cjs/kbd/kbd-utils.js.map +1 -1
- package/lib/cjs/modal/Modal.js +6 -6
- package/lib/cjs/modal/Modal.js.map +1 -1
- package/lib/cjs/next/tree-view/TreeView.js +23 -23
- package/lib/cjs/next/tree-view/TreeView.js.map +1 -1
- package/lib/cjs/next/tree-view/stories/tree-view-lazy.story.js +1 -1
- package/lib/cjs/next/tree-view/stories/tree-view-lazy.story.js.map +1 -1
- package/lib/cjs/next/tree-view/stories/tree-view-multi.story.js +6 -6
- package/lib/cjs/next/tree-view/stories/tree-view-multi.story.js.map +1 -1
- package/lib/cjs/popover/Popover.js.map +1 -1
- package/lib/cjs/popover/stories/popover-custom-offset.story.js +3 -3
- package/lib/cjs/popover/stories/popover-custom-offset.story.js.map +1 -1
- package/lib/cjs/popover/use-popover.js +2 -0
- package/lib/cjs/popover/use-popover.js.map +1 -1
- package/lib/cjs/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/cjs/select/Overrides.js +30 -30
- package/lib/cjs/select/Overrides.js.map +1 -1
- package/lib/cjs/select-icon-button/SelectIconButton.js +4 -4
- package/lib/cjs/select-icon-button/SelectIconButton.js.map +1 -1
- package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
- package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
- package/lib/cjs/side-navigation/SideNavigation.js +9 -9
- package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
- package/lib/cjs/slider/Slider.js +1 -1
- package/lib/cjs/slider/Slider.js.map +1 -1
- package/lib/cjs/slider/stories/slider-single-controlled.story.js +2 -2
- package/lib/cjs/slider/stories/slider-single-controlled.story.js.map +1 -1
- package/lib/cjs/spotlight/Spotlight.js +6 -6
- package/lib/cjs/spotlight/Spotlight.js.map +1 -1
- package/lib/cjs/spotlight/SpotlightProvider.js +6 -6
- package/lib/cjs/spotlight/SpotlightProvider.js.map +1 -1
- package/lib/cjs/spotlight/SpotlightTarget.js +18 -16
- package/lib/cjs/spotlight/SpotlightTarget.js.map +1 -1
- package/lib/cjs/status-indicator/StatusIndicator.js +4 -2
- package/lib/cjs/status-indicator/StatusIndicator.js.map +1 -1
- package/lib/cjs/tabs/Tabs.js +3 -3
- package/lib/cjs/tabs/Tabs.js.map +1 -1
- package/lib/cjs/tabs/use-tabs-scroll-overflow.js +2 -2
- package/lib/cjs/tabs/use-tabs-scroll-overflow.js.map +1 -1
- package/lib/cjs/text-input/stories/text-input-full.story.js +1 -1
- package/lib/cjs/text-input/stories/text-input-full.story.js.map +1 -1
- package/lib/cjs/text-input/stories/text-input-with-icons.story.js +1 -1
- package/lib/cjs/text-input/stories/text-input-with-icons.story.js.map +1 -1
- package/lib/cjs/theme/agnostic.js +4 -4
- package/lib/cjs/theme/agnostic.js.map +1 -1
- package/lib/cjs/time-picker/TimePicker.js +24 -24
- package/lib/cjs/time-picker/TimePicker.js.map +1 -1
- package/lib/cjs/time-picker/generate-time-options.js +3 -3
- package/lib/cjs/time-picker/generate-time-options.js.map +1 -1
- package/lib/cjs/timezone-picker/TimeZonePicker.js +44 -44
- package/lib/cjs/timezone-picker/TimeZonePicker.js.map +1 -1
- package/lib/cjs/timezone-picker/generate-timezone-options.js +5 -5
- package/lib/cjs/timezone-picker/generate-timezone-options.js.map +1 -1
- package/lib/cjs/toast/ToastControlled.js +1 -1
- package/lib/cjs/toast/ToastControlled.js.map +1 -1
- package/lib/cjs/tooltip/use-tooltip.js +8 -1
- package/lib/cjs/tooltip/use-tooltip.js.map +1 -1
- package/lib/cjs/tree-view/TreeItemWrapper.js +8 -8
- package/lib/cjs/tree-view/TreeItemWrapper.js.map +1 -1
- package/lib/cjs/tree-view/TreeView.js +6 -2
- package/lib/cjs/tree-view/TreeView.js.map +1 -1
- package/lib/cjs/tree-view/TreeViewTextItem.js +17 -17
- package/lib/cjs/tree-view/TreeViewTextItem.js.map +1 -1
- package/lib/cjs/tree-view/tree-view-keyboard-coordinates.js +2 -0
- package/lib/cjs/tree-view/tree-view-keyboard-coordinates.js.map +1 -1
- package/lib/cjs/tree-view/tree-view-utils.js +12 -12
- package/lib/cjs/tree-view/tree-view-utils.js.map +1 -1
- package/lib/esm/_common/export-stories-utils.js +1 -1
- package/lib/esm/_common/export-stories-utils.js.map +1 -1
- package/lib/esm/_common/utils.js +3 -3
- package/lib/esm/_common/utils.js.map +1 -1
- package/lib/esm/_generated/style-rules/color-utils.js +3 -0
- package/lib/esm/_generated/style-rules/color-utils.js.map +1 -1
- package/lib/esm/_generated/style-rules/date-utils.js +14 -13
- package/lib/esm/_generated/style-rules/date-utils.js.map +1 -1
- package/lib/esm/_generated/style-rules/literal-schemas.js +5 -3
- package/lib/esm/_generated/style-rules/literal-schemas.js.map +1 -1
- package/lib/esm/ai/code-preview/CodePreview.js +1 -1
- package/lib/esm/ai/code-preview/CodePreview.js.map +1 -1
- package/lib/esm/ai/file-tag/FileTag.js.map +1 -1
- package/lib/esm/ai/image-tag/ImageTag.js.map +1 -1
- package/lib/esm/ai/prompt/Prompt.js +10 -10
- package/lib/esm/ai/prompt/Prompt.js.map +1 -1
- package/lib/esm/ai/prompt/stories/prompt-advanced.story.js +1 -1
- package/lib/esm/ai/prompt/stories/prompt-advanced.story.js.map +1 -1
- package/lib/esm/ai/prompt/stories/prompt-context.story.js +1 -1
- package/lib/esm/ai/prompt/stories/prompt-context.story.js.map +1 -1
- package/lib/esm/ai/prompt/stories/prompt-default.story.js +1 -1
- package/lib/esm/ai/prompt/stories/prompt-default.story.js.map +1 -1
- package/lib/esm/ai/prompt/stories/prompt-header.story.js +1 -1
- package/lib/esm/ai/prompt/stories/prompt-header.story.js.map +1 -1
- package/lib/esm/ai/response/Response.js +4 -4
- package/lib/esm/ai/response/Response.js.map +1 -1
- package/lib/esm/ai/response/stories/response-full-example.story.js +1 -1
- package/lib/esm/ai/response/stories/response-full-example.story.js.map +1 -1
- package/lib/esm/ai/suggestion/Suggestion.js.map +1 -1
- package/lib/esm/ai/thinking/thinking-duration-formatter.js +5 -5
- package/lib/esm/ai/thinking/thinking-duration-formatter.js.map +1 -1
- package/lib/esm/banner/Banner.js +2 -2
- package/lib/esm/banner/Banner.js.map +1 -1
- package/lib/esm/button/ButtonBase.js +4 -4
- package/lib/esm/button/ButtonBase.js.map +1 -1
- package/lib/esm/code/Code.js +3 -3
- package/lib/esm/code/Code.js.map +1 -1
- package/lib/esm/code-block/CodeBlock.js +2 -2
- package/lib/esm/code-block/CodeBlock.js.map +1 -1
- package/lib/esm/color-picker/ColorPicker.js +22 -22
- package/lib/esm/color-picker/ColorPicker.js.map +1 -1
- package/lib/esm/color-picker/stories/color-picker-custom-swatches.story.js +20 -20
- package/lib/esm/color-picker/stories/color-picker-custom-swatches.story.js.map +1 -1
- package/lib/esm/color-picker/stories/color-picker-default.story.js +4 -4
- package/lib/esm/color-picker/stories/color-picker-default.story.js.map +1 -1
- package/lib/esm/color-picker/stories/color-picker-dialog.story.js +4 -4
- package/lib/esm/color-picker/stories/color-picker-dialog.story.js.map +1 -1
- package/lib/esm/color-picker/stories/color-picker-without-eyedropper.story.js +4 -4
- package/lib/esm/color-picker/stories/color-picker-without-eyedropper.story.js.map +1 -1
- package/lib/esm/combobox/stories/combobox-large-data-set.story.js +1 -1
- package/lib/esm/combobox/stories/combobox-large-data-set.story.js.map +1 -1
- package/lib/esm/data-grid/Components.js +20 -20
- package/lib/esm/data-grid/Components.js.map +1 -1
- package/lib/esm/data-grid/DataGrid.js +3 -3
- package/lib/esm/data-grid/DataGrid.js.map +1 -1
- package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js +55 -54
- package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js.map +1 -1
- package/lib/esm/data-grid/data-grid-nav/helpers.js +1 -1
- package/lib/esm/data-grid/data-grid-nav/helpers.js.map +1 -1
- package/lib/esm/data-grid/data-grid-nav/index.js +2 -2
- package/lib/esm/data-grid/data-grid-nav/index.js.map +1 -1
- package/lib/esm/data-grid/helpers/index.js +42 -40
- package/lib/esm/data-grid/helpers/index.js.map +1 -1
- package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js +10 -7
- package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
- package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js +10 -7
- package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
- package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +5 -5
- package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
- package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js +1 -1
- package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
- package/lib/esm/data-grid/stories/datagrid-virtualization.story.js +5 -5
- package/lib/esm/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
- package/lib/esm/data-grid/style-rules/evaluate.js +23 -23
- package/lib/esm/data-grid/style-rules/evaluate.js.map +1 -1
- package/lib/esm/data-grid/style-rules/types.js +1 -1
- package/lib/esm/data-grid/style-rules/types.js.map +1 -1
- package/lib/esm/dialog/Dialog.js +5 -5
- package/lib/esm/dialog/Dialog.js.map +1 -1
- package/lib/esm/dialog/dialog-types.js.map +1 -1
- package/lib/esm/drawer/Drawer.js +5 -5
- package/lib/esm/drawer/Drawer.js.map +1 -1
- package/lib/esm/dropdown-button/DropdownButton.js +4 -4
- package/lib/esm/dropdown-button/DropdownButton.js.map +1 -1
- package/lib/esm/dropzone/stories/dropzone-full.story.js +1 -1
- package/lib/esm/dropzone/stories/dropzone-full.story.js.map +1 -1
- package/lib/esm/flex/stories/flex-default.story.js +1 -1
- package/lib/esm/flex/stories/flex-default.story.js.map +1 -1
- package/lib/esm/hooks/index.js +3 -3
- package/lib/esm/hooks/index.js.map +1 -1
- package/lib/esm/icon-button-base/IconButtonBase.js +4 -4
- package/lib/esm/icon-button-base/IconButtonBase.js.map +1 -1
- package/lib/esm/icons/generated/custom/ScatterPlot.js +28 -0
- package/lib/esm/icons/generated/custom/ScatterPlot.js.map +1 -0
- package/lib/esm/icons/generated/custom/index.js +1 -0
- package/lib/esm/icons/generated/custom/index.js.map +1 -1
- package/lib/esm/inline-edit/InlineEdit.js +8 -8
- package/lib/esm/inline-edit/InlineEdit.js.map +1 -1
- package/lib/esm/kbd/kbd-utils.js +2 -2
- package/lib/esm/kbd/kbd-utils.js.map +1 -1
- package/lib/esm/modal/Modal.js +6 -6
- package/lib/esm/modal/Modal.js.map +1 -1
- package/lib/esm/next/tree-view/TreeView.js +23 -23
- package/lib/esm/next/tree-view/TreeView.js.map +1 -1
- package/lib/esm/next/tree-view/stories/tree-view-lazy.story.js +1 -1
- package/lib/esm/next/tree-view/stories/tree-view-lazy.story.js.map +1 -1
- package/lib/esm/next/tree-view/stories/tree-view-multi.story.js +6 -6
- package/lib/esm/next/tree-view/stories/tree-view-multi.story.js.map +1 -1
- package/lib/esm/popover/Popover.js.map +1 -1
- package/lib/esm/popover/stories/popover-custom-offset.story.js +3 -3
- package/lib/esm/popover/stories/popover-custom-offset.story.js.map +1 -1
- package/lib/esm/popover/use-popover.js +2 -0
- package/lib/esm/popover/use-popover.js.map +1 -1
- package/lib/esm/segmented-control/SegmentedControl.js.map +1 -1
- package/lib/esm/select/Overrides.js +30 -30
- package/lib/esm/select/Overrides.js.map +1 -1
- package/lib/esm/select-icon-button/SelectIconButton.js +4 -4
- package/lib/esm/select-icon-button/SelectIconButton.js.map +1 -1
- package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
- package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
- package/lib/esm/side-navigation/SideNavigation.js +9 -9
- package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
- package/lib/esm/slider/Slider.js +1 -1
- package/lib/esm/slider/Slider.js.map +1 -1
- package/lib/esm/slider/stories/slider-single-controlled.story.js +2 -2
- package/lib/esm/slider/stories/slider-single-controlled.story.js.map +1 -1
- package/lib/esm/spotlight/Spotlight.js +6 -6
- package/lib/esm/spotlight/Spotlight.js.map +1 -1
- package/lib/esm/spotlight/SpotlightProvider.js +6 -6
- package/lib/esm/spotlight/SpotlightProvider.js.map +1 -1
- package/lib/esm/spotlight/SpotlightTarget.js +18 -16
- package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
- package/lib/esm/status-indicator/StatusIndicator.js +4 -2
- package/lib/esm/status-indicator/StatusIndicator.js.map +1 -1
- package/lib/esm/tabs/Tabs.js +3 -3
- package/lib/esm/tabs/Tabs.js.map +1 -1
- package/lib/esm/tabs/use-tabs-scroll-overflow.js +2 -2
- package/lib/esm/tabs/use-tabs-scroll-overflow.js.map +1 -1
- package/lib/esm/text-input/stories/text-input-full.story.js +1 -1
- package/lib/esm/text-input/stories/text-input-full.story.js.map +1 -1
- package/lib/esm/text-input/stories/text-input-with-icons.story.js +1 -1
- package/lib/esm/text-input/stories/text-input-with-icons.story.js.map +1 -1
- package/lib/esm/theme/agnostic.js +3 -3
- package/lib/esm/theme/agnostic.js.map +1 -1
- package/lib/esm/time-picker/TimePicker.js +24 -24
- package/lib/esm/time-picker/TimePicker.js.map +1 -1
- package/lib/esm/time-picker/generate-time-options.js +3 -3
- package/lib/esm/time-picker/generate-time-options.js.map +1 -1
- package/lib/esm/timezone-picker/TimeZonePicker.js +44 -44
- package/lib/esm/timezone-picker/TimeZonePicker.js.map +1 -1
- package/lib/esm/timezone-picker/generate-timezone-options.js +5 -5
- package/lib/esm/timezone-picker/generate-timezone-options.js.map +1 -1
- package/lib/esm/toast/ToastControlled.js +1 -1
- package/lib/esm/toast/ToastControlled.js.map +1 -1
- package/lib/esm/tooltip/use-tooltip.js +8 -1
- package/lib/esm/tooltip/use-tooltip.js.map +1 -1
- package/lib/esm/tree-view/TreeItemWrapper.js +8 -8
- package/lib/esm/tree-view/TreeItemWrapper.js.map +1 -1
- package/lib/esm/tree-view/TreeView.js +6 -2
- package/lib/esm/tree-view/TreeView.js.map +1 -1
- package/lib/esm/tree-view/TreeViewTextItem.js +17 -17
- package/lib/esm/tree-view/TreeViewTextItem.js.map +1 -1
- package/lib/esm/tree-view/tree-view-keyboard-coordinates.js +2 -0
- package/lib/esm/tree-view/tree-view-keyboard-coordinates.js.map +1 -1
- package/lib/esm/tree-view/tree-view-utils.js +12 -12
- package/lib/esm/tree-view/tree-view-utils.js.map +1 -1
- package/lib/types/_common/export-stories-utils.d.ts +1 -1
- package/lib/types/_common/utils.d.ts +3 -3
- package/lib/types/_generated/style-rules/color-utils.d.ts.map +1 -1
- package/lib/types/_generated/style-rules/date-utils.d.ts +3 -3
- package/lib/types/_generated/style-rules/date-utils.d.ts.map +1 -1
- package/lib/types/_generated/style-rules/literal-schemas.d.ts.map +1 -1
- package/lib/types/ai/code-preview/CodePreview.d.ts +1 -1
- package/lib/types/ai/file-tag/FileTag.d.ts +1 -1
- package/lib/types/ai/file-tag/FileTag.d.ts.map +1 -1
- package/lib/types/ai/image-tag/ImageTag.d.ts +1 -1
- package/lib/types/ai/image-tag/ImageTag.d.ts.map +1 -1
- package/lib/types/ai/prompt/Prompt.d.ts +3 -3
- package/lib/types/ai/prompt/Prompt.d.ts.map +1 -1
- package/lib/types/ai/suggestion/Suggestion.d.ts +1 -1
- package/lib/types/ai/suggestion/Suggestion.d.ts.map +1 -1
- package/lib/types/ai/thinking/thinking-duration-formatter.d.ts +5 -5
- package/lib/types/banner/Banner.d.ts +1 -1
- package/lib/types/banner/Banner.d.ts.map +1 -1
- package/lib/types/button/ButtonBase.d.ts +2 -2
- package/lib/types/button/ButtonBase.d.ts.map +1 -1
- package/lib/types/code/Code.d.ts +1 -1
- package/lib/types/code/Code.d.ts.map +1 -1
- package/lib/types/data-grid/Components.d.ts +2 -2
- package/lib/types/data-grid/Components.d.ts.map +1 -1
- package/lib/types/data-grid/DataGrid.d.ts +2 -2
- package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts +4 -4
- package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts.map +1 -1
- package/lib/types/data-grid/data-grid-nav/helpers.d.ts +1 -1
- package/lib/types/data-grid/data-grid-nav/index.d.ts +1 -1
- package/lib/types/data-grid/data-grid-nav/index.d.ts.map +1 -1
- package/lib/types/data-grid/helpers/index.d.ts +5 -5
- package/lib/types/data-grid/helpers/index.d.ts.map +1 -1
- package/lib/types/data-grid/stories/datagrid-in-dialog.story.d.ts.map +1 -1
- package/lib/types/data-grid/stories/datagrid-keyboard-navigation.story.d.ts.map +1 -1
- package/lib/types/data-grid/stories/datagrid-pinned-columns.stories.d.ts +2 -2
- package/lib/types/data-grid/stories/datagrid-search-and-filters.stories.d.ts +2 -2
- package/lib/types/data-grid/stories/datagrid-virtualization.story.d.ts.map +1 -1
- package/lib/types/data-grid/style-rules/evaluate.d.ts +1 -1
- package/lib/types/dialog/Dialog.d.ts.map +1 -1
- package/lib/types/dialog/dialog-types.d.ts +1 -1
- package/lib/types/dialog/dialog-types.d.ts.map +1 -1
- package/lib/types/drawer/Drawer.d.ts +1 -1
- package/lib/types/drawer/Drawer.d.ts.map +1 -1
- package/lib/types/dropdown-button/DropdownButton.d.ts +1 -1
- package/lib/types/dropdown-button/DropdownButton.d.ts.map +1 -1
- package/lib/types/hooks/index.d.ts +3 -3
- package/lib/types/icon-button-base/IconButtonBase.d.ts +1 -1
- package/lib/types/icon-button-base/IconButtonBase.d.ts.map +1 -1
- package/lib/types/icons/generated/custom/ScatterPlot.d.ts +29 -0
- package/lib/types/icons/generated/custom/ScatterPlot.d.ts.map +1 -0
- package/lib/types/icons/generated/custom/index.d.ts +1 -0
- package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
- package/lib/types/modal/Modal.d.ts +1 -1
- package/lib/types/modal/Modal.d.ts.map +1 -1
- package/lib/types/popover/Popover.d.ts.map +1 -1
- package/lib/types/popover/use-popover.d.ts.map +1 -1
- package/lib/types/segmented-control/SegmentedControl.d.ts +1 -1
- package/lib/types/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/lib/types/select/Overrides.d.ts.map +1 -1
- package/lib/types/select-icon-button/SelectIconButton.d.ts +1 -1
- package/lib/types/select-icon-button/SelectIconButton.d.ts.map +1 -1
- package/lib/types/selectable-tag/stories/selectable-tag-sizes.story.d.ts.map +1 -1
- package/lib/types/spotlight/SpotlightProvider.d.ts.map +1 -1
- package/lib/types/spotlight/SpotlightTarget.d.ts +4 -3
- package/lib/types/spotlight/SpotlightTarget.d.ts.map +1 -1
- package/lib/types/status-indicator/StatusIndicator.d.ts.map +1 -1
- package/lib/types/tabs/Tabs.d.ts +1 -1
- package/lib/types/tabs/Tabs.d.ts.map +1 -1
- package/lib/types/theme/agnostic.d.ts +2 -2
- package/lib/types/theme/agnostic.d.ts.map +1 -1
- package/lib/types/tooltip/use-tooltip.d.ts.map +1 -1
- package/lib/types/tree-view/TreeView.d.ts.map +1 -1
- package/lib/types/tree-view/TreeViewTextItem.d.ts.map +1 -1
- package/lib/types/tree-view/tree-view-keyboard-coordinates.d.ts.map +1 -1
- package/lib/types/tree-view/tree-view-utils.d.ts +12 -12
- package/lib/types/tree-view/tree-view-utils.d.ts.map +1 -1
- package/package.json +5 -3
- package/skills/ndl-react/components/ai/file-tag.md +1 -1
- package/skills/ndl-react/components/ai/image-tag.md +1 -1
- package/skills/ndl-react/components/ai/prompt.md +10 -10
- package/skills/ndl-react/components/ai/response.md +1 -1
- package/skills/ndl-react/components/ai/suggestion.md +1 -1
- package/skills/ndl-react/components/banner.md +1 -1
- package/skills/ndl-react/components/clean-icon-button.md +1 -1
- package/skills/ndl-react/components/code.md +1 -1
- package/skills/ndl-react/components/combobox.md +1 -1
- package/skills/ndl-react/components/data-grid.md +35 -28
- package/skills/ndl-react/components/dialog.md +1 -1
- package/skills/ndl-react/components/drawer.md +1 -1
- package/skills/ndl-react/components/dropdown-button.md +1 -1
- package/skills/ndl-react/components/dropzone.md +1 -1
- package/skills/ndl-react/components/filled-button.md +2 -2
- package/skills/ndl-react/components/flex.md +2 -2
- package/skills/ndl-react/components/icon-button.md +1 -1
- package/skills/ndl-react/components/modal.md +1 -1
- package/skills/ndl-react/components/next/tree-view.md +8 -8
- package/skills/ndl-react/components/outlined-button.md +2 -2
- package/skills/ndl-react/components/popover.md +3 -3
- package/skills/ndl-react/components/segmented-control.md +1 -1
- package/skills/ndl-react/components/select-icon-button.md +1 -1
- package/skills/ndl-react/components/selectable-tag.md +10 -4
- package/skills/ndl-react/components/slider.md +2 -2
- package/skills/ndl-react/components/tabs.md +1 -1
- package/skills/ndl-react/components/text-button.md +2 -2
- package/skills/ndl-react/components/text-input.md +2 -2
|
@@ -13,7 +13,7 @@ Import: `import { Code } from '@neo4j-ndl/react'`
|
|
|
13
13
|
| `description` | `string` | | | The description of the code, will be displayed in a tooltip |
|
|
14
14
|
| `isDisabled` | `boolean` | | `false` | Whether the code is disabled |
|
|
15
15
|
| `isRunnable` | `boolean` | | `false` | Whether the code is runnable |
|
|
16
|
-
| `onClick` | `((
|
|
16
|
+
| `onClick` | `((event: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>) => void)` | | | The callback function triggered when the inline code is clicked |
|
|
17
17
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
18
18
|
|
|
19
19
|
## Accessibility
|
|
@@ -1142,7 +1142,7 @@ type Option = {
|
|
|
1142
1142
|
value: string;
|
|
1143
1143
|
};
|
|
1144
1144
|
|
|
1145
|
-
const options: Option[] = Array.from({ length: 10000 }, (
|
|
1145
|
+
const options: Option[] = Array.from({ length: 10000 }, (_unused, index) => ({
|
|
1146
1146
|
label: `Node ${index + 1}`,
|
|
1147
1147
|
value: `node-${index + 1}`,
|
|
1148
1148
|
}));
|
|
@@ -162,7 +162,7 @@ _No props documented._
|
|
|
162
162
|
|------|------|----------|---------|-------------|
|
|
163
163
|
| `action` | `'next' \| 'previous'` | ✅ | | |
|
|
164
164
|
| `children` | `ReactNode` | | | |
|
|
165
|
-
| `onClick` | `(
|
|
165
|
+
| `onClick` | `(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
|
|
166
166
|
| `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
|
|
167
167
|
|
|
168
168
|
### DataGrid.PaginationNumericButton
|
|
@@ -172,7 +172,7 @@ _No props documented._
|
|
|
172
172
|
| `children` | `ReactNode` | | | |
|
|
173
173
|
| `currentIndex` | `string \| number` | ✅ | | |
|
|
174
174
|
| `isSelected` | `boolean` | ✅ | | |
|
|
175
|
-
| `onClick` | `(
|
|
175
|
+
| `onClick` | `(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
|
|
176
176
|
| `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
|
|
177
177
|
|
|
178
178
|
### DataGrid.ResizingBar
|
|
@@ -737,7 +737,10 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
|
|
|
737
737
|
) => ({
|
|
738
738
|
cell: ({ row }) => {
|
|
739
739
|
const options = ['Edit', 'Delete', 'View'];
|
|
740
|
-
const dropdownOptions = options.map((
|
|
740
|
+
const dropdownOptions = options.map((option) => ({
|
|
741
|
+
label: option,
|
|
742
|
+
value: option,
|
|
743
|
+
}));
|
|
741
744
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
742
745
|
const [selected, setSelected] = useState(dropdownOptions[0]);
|
|
743
746
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
@@ -754,16 +757,16 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
|
|
|
754
757
|
selectProps={{
|
|
755
758
|
menuPortalTarget: portalTarget,
|
|
756
759
|
menuPosition: 'fixed',
|
|
757
|
-
onChange: (
|
|
758
|
-
if (!
|
|
760
|
+
onChange: (event) => {
|
|
761
|
+
if (!event) {
|
|
759
762
|
return;
|
|
760
763
|
}
|
|
761
|
-
setSelected(
|
|
764
|
+
setSelected(event);
|
|
762
765
|
},
|
|
763
|
-
onKeyDown: (
|
|
766
|
+
onKeyDown: (event) => {
|
|
764
767
|
// Stop propagation of arrow down to the table, to avoid moving to the next item in the cell
|
|
765
|
-
if (
|
|
766
|
-
|
|
768
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
769
|
+
event.stopPropagation();
|
|
767
770
|
}
|
|
768
771
|
},
|
|
769
772
|
onMenuClose: () => {
|
|
@@ -1042,7 +1045,10 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
|
|
|
1042
1045
|
) => ({
|
|
1043
1046
|
cell: ({ row }) => {
|
|
1044
1047
|
const options = ['Edit', 'Delete', 'View'];
|
|
1045
|
-
const dropdownOptions = options.map((
|
|
1048
|
+
const dropdownOptions = options.map((option) => ({
|
|
1049
|
+
label: option,
|
|
1050
|
+
value: option,
|
|
1051
|
+
}));
|
|
1046
1052
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
1047
1053
|
const [selected, setSelected] = useState(dropdownOptions[0]);
|
|
1048
1054
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
@@ -1069,16 +1075,16 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
|
|
|
1069
1075
|
type="select"
|
|
1070
1076
|
selectProps={{
|
|
1071
1077
|
menuPortalTarget: portalTarget,
|
|
1072
|
-
onChange: (
|
|
1073
|
-
if (!
|
|
1078
|
+
onChange: (event) => {
|
|
1079
|
+
if (!event) {
|
|
1074
1080
|
return;
|
|
1075
1081
|
}
|
|
1076
|
-
setSelected(
|
|
1082
|
+
setSelected(event);
|
|
1077
1083
|
},
|
|
1078
|
-
onKeyDown: (
|
|
1084
|
+
onKeyDown: (event) => {
|
|
1079
1085
|
// Stop propagation of arrow down to the table, to avoid moving to the next item in the cell
|
|
1080
|
-
if (
|
|
1081
|
-
|
|
1086
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
1087
|
+
event.stopPropagation();
|
|
1082
1088
|
}
|
|
1083
1089
|
},
|
|
1084
1090
|
onMenuClose: () => {
|
|
@@ -1917,11 +1923,11 @@ type EventRow = {
|
|
|
1917
1923
|
event: string;
|
|
1918
1924
|
/**
|
|
1919
1925
|
* JS Date coerced from the event's local ISO string. Natively converted to
|
|
1920
|
-
* Unix ms by the engine and compared against { datetime: "..." } literals.
|
|
1926
|
+
* Unix ms by the engine and compared against `{ datetime: "..." }` literals.
|
|
1921
1927
|
*/
|
|
1922
1928
|
scheduledDate: Date;
|
|
1923
1929
|
/**
|
|
1924
|
-
* UTC milliseconds since midnight. Compared against { time: "..." } literals
|
|
1930
|
+
* UTC milliseconds since midnight. Compared against `{ time: "..." }` literals
|
|
1925
1931
|
* that are defined in Stockholm / CEST (+02:00) time — the engine normalises
|
|
1926
1932
|
* both sides to UTC before comparing.
|
|
1927
1933
|
*/
|
|
@@ -2024,8 +2030,8 @@ const data: EventRow[] = [
|
|
|
2024
2030
|
* 2026-07-15T00:00:00[Europe/Stockholm] = 2026-07-14T22:00:00Z
|
|
2025
2031
|
*
|
|
2026
2032
|
* Business hours (Stockholm):
|
|
2027
|
-
* { time: '09:00:00+02:00' } resolves to 07:00 UTC (25 200 000 ms)
|
|
2028
|
-
* { time: '17:00:00+02:00' } resolves to 15:00 UTC (54 000 000 ms)
|
|
2033
|
+
* `{ time: '09:00:00+02:00' }` resolves to 07:00 UTC (25 200 000 ms)
|
|
2034
|
+
* `{ time: '17:00:00+02:00' }` resolves to 15:00 UTC (54 000 000 ms)
|
|
2029
2035
|
*/
|
|
2030
2036
|
const styleRules: DataGridStyleRule[] = [
|
|
2031
2037
|
// Near-future date cells use temporal literals directly as gradient
|
|
@@ -2170,13 +2176,13 @@ const Component = () => {
|
|
|
2170
2176
|
columnHelper.accessor('scheduledTimeMs', {
|
|
2171
2177
|
cell: (info) => {
|
|
2172
2178
|
const ms = info.getValue();
|
|
2173
|
-
const
|
|
2179
|
+
const hours = Math.floor(ms / 3_600_000)
|
|
2174
2180
|
.toString()
|
|
2175
2181
|
.padStart(2, '0');
|
|
2176
|
-
const
|
|
2182
|
+
const minutes = Math.floor((ms % 3_600_000) / 60_000)
|
|
2177
2183
|
.toString()
|
|
2178
2184
|
.padStart(2, '0');
|
|
2179
|
-
return `${
|
|
2185
|
+
return `${hours}:${minutes} UTC`;
|
|
2180
2186
|
},
|
|
2181
2187
|
header: () => 'Time (UTC)',
|
|
2182
2188
|
minSize: 110,
|
|
@@ -3047,10 +3053,10 @@ type TestDataFormat = {
|
|
|
3047
3053
|
|
|
3048
3054
|
const TABLE_DEMO_DATA: TestDataFormat[] = Array.from(
|
|
3049
3055
|
{ length: 1000 },
|
|
3050
|
-
(
|
|
3056
|
+
(_unused, index) => ({
|
|
3051
3057
|
age: Math.floor(Math.random() * 100),
|
|
3052
|
-
cypherCommand: `MATCH (n) RETURN n LIMIT ${
|
|
3053
|
-
name: `Person ${
|
|
3058
|
+
cypherCommand: `MATCH (n) RETURN n LIMIT ${index + 1}`,
|
|
3059
|
+
name: `Person ${index + 1}`,
|
|
3054
3060
|
}),
|
|
3055
3061
|
);
|
|
3056
3062
|
|
|
@@ -3110,8 +3116,9 @@ const BodyCurryingFunction =
|
|
|
3110
3116
|
);
|
|
3111
3117
|
};
|
|
3112
3118
|
|
|
3113
|
-
/** Repeats array `
|
|
3114
|
-
const repeat = (arr: unknown[],
|
|
3119
|
+
/** Repeats array `repeatCount` times */
|
|
3120
|
+
const repeat = (arr: unknown[], repeatCount: number) =>
|
|
3121
|
+
Array(repeatCount).fill(arr).flat();
|
|
3115
3122
|
|
|
3116
3123
|
const columnHelper = createColumnHelper<TestDataFormat>();
|
|
3117
3124
|
|
|
@@ -12,7 +12,7 @@ Import: `import { Dialog } from '@neo4j-ndl/react'`
|
|
|
12
12
|
| `container` | `Element` | | | The container where the modal will be rendered. |
|
|
13
13
|
| `hasDisabledCloseButton` | `boolean` | | `false` | Whether to disable the close button in the top-right corner. |
|
|
14
14
|
| `isOpen` | `boolean` | ✅ | | Controls whether the dialog is open or closed. |
|
|
15
|
-
| `onClose` | `((
|
|
15
|
+
| `onClose` | `((event: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: DialogCloseReason) => void)` | | | Callback function called when the dialog is closed. |
|
|
16
16
|
| `ref` | `Ref<HTMLDivElement>` | | | A ref to apply to the root element. |
|
|
17
17
|
| `rootProps` | `HtmlAttributes<"div">` | | | Forwards the props to the modal container's wrapper - use with caution |
|
|
18
18
|
| `size` | `'large' \| 'medium' \| 'small' \| 'unset'` | | | Sets the size(max-width) of the Modal, use 'unset' for custom sizing. |
|
|
@@ -19,7 +19,7 @@ Import: `import { Drawer } from '@neo4j-ndl/react'`
|
|
|
19
19
|
| `isPortaled` | `boolean` | | `false` | Whether to portal the content. Only applies when type is "overlay". Type "modal" is always portaled. |
|
|
20
20
|
| `isResizeable` | `boolean` | | `false` | Enables horizontal resizing of the drawer, by default it is not resizable. |
|
|
21
21
|
| `onExpandedChange` | `((expanded: boolean) => void)` | | | Callback fired when the drawer's expanded state changes (close button, Escape, click outside, or programmatic change). |
|
|
22
|
-
| `portalProps` | `FloatingPortalProps` | | `{}` | Props to pass to the portal from
|
|
22
|
+
| `portalProps` | `FloatingPortalProps` | | `{}` | Props to pass to the portal from `@floating-ui/react` FloatingPortal Only applies when type is "overlay" and isPortaled is true, or if type is "modal". @see https://floating-ui.com/docs/floatingportal |
|
|
23
23
|
| `position` | `'left' \| 'right'` | | `left` | Position where the drawer appears on screen. By default, it appears from the left. |
|
|
24
24
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
25
25
|
| `resizeableProps` | `ResizableProps` | | | To use this prop the isResizeable prop must be set to true. For overriding the third party library props: https://github.com/bokuweb/re-resizable The property enable has default values set for bottom, bottomLeft etc based on the position prop. |
|
|
@@ -16,7 +16,7 @@ Import: `import { DropdownButton } from '@neo4j-ndl/react'`
|
|
|
16
16
|
| `isOpen` | `boolean` | | `false` | If the dropdown is activated |
|
|
17
17
|
| `leadingElement` | `ReactNode` | | | Element that is shown before the button content |
|
|
18
18
|
| `loadingMessage` | `string` | | `Loading` | Accessible message for screen readers when the button is in a loading state |
|
|
19
|
-
| `onClick` | `((
|
|
19
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
|
|
20
20
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
21
21
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
22
22
|
|
|
@@ -242,7 +242,7 @@ const Component = () => {
|
|
|
242
242
|
(rejectedFiles: FileRejection[]) => {
|
|
243
243
|
const errors = rejectedFiles.map(
|
|
244
244
|
(file) =>
|
|
245
|
-
`${file.file.name}: ${file.errors.map((
|
|
245
|
+
`${file.file.name}: ${file.errors.map((error) => error.message).join(', ')}`,
|
|
246
246
|
);
|
|
247
247
|
setUploadData((prev) => ({ ...prev, state: UploadState.Error, errors }));
|
|
248
248
|
},
|
|
@@ -17,8 +17,8 @@ Import: `import { FilledButton } from '@neo4j-ndl/react'`
|
|
|
17
17
|
| `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
|
|
18
18
|
| `leadingVisual` | `ReactNode` | | | Icon to display before the button content |
|
|
19
19
|
| `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
|
|
20
|
-
| `onClick` | `((
|
|
21
|
-
| `onKeyDown` | `((
|
|
20
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
|
|
21
|
+
| `onKeyDown` | `((event: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
|
|
22
22
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
23
23
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
24
24
|
| `target` | `HTMLAttributeAnchorTarget` | | | The target window for the link. Only applies when `as="a"`. Not present or required for other element types. |
|
|
@@ -67,9 +67,9 @@ const component = () => (
|
|
|
67
67
|
padding: tokens.space['12'],
|
|
68
68
|
}}
|
|
69
69
|
>
|
|
70
|
-
{Array.from({ length: 3 }).map((
|
|
70
|
+
{Array.from({ length: 3 }).map((_unused, index) => (
|
|
71
71
|
<Box
|
|
72
|
-
key={`box-${
|
|
72
|
+
key={`box-${index}`}
|
|
73
73
|
borderRadius="xl"
|
|
74
74
|
style={{ height: '80px', minWidth: '240px' }}
|
|
75
75
|
className="n-bg-primary-bg-weak n-border n-border-primary-border-strong"
|
|
@@ -17,7 +17,7 @@ Import: `import { IconButton } from '@neo4j-ndl/react'`
|
|
|
17
17
|
| `isFloating` | `boolean` | | `false` | If the button is in floating state |
|
|
18
18
|
| `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
|
|
19
19
|
| `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
|
|
20
|
-
| `onClick` | `((
|
|
20
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Click handler |
|
|
21
21
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
22
22
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
23
23
|
| `tooltipProps` | `TooltipObjectProps` | | | Props for the tooltip component. |
|
|
@@ -11,7 +11,7 @@ Import: `import { Modal } from '@neo4j-ndl/react'`
|
|
|
11
11
|
| `children` | `ReactNode` | ✅ | | Content to render inside the Modal. |
|
|
12
12
|
| `container` | `Element` | | | The container where the modal will be rendered. |
|
|
13
13
|
| `isOpen` | `boolean` | ✅ | | Whether the Modal is open. |
|
|
14
|
-
| `onClose` | `((
|
|
14
|
+
| `onClose` | `((event: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: ModalCloseReason) => void)` | | | Callback function called when the modal is closed. |
|
|
15
15
|
| `ref` | `Ref<HTMLDivElement>` | | | A ref to apply to the root element. |
|
|
16
16
|
| `rootProps` | `HtmlAttributes<"div">` | | | Forwards the props to the modal container's wrapper - use with caution |
|
|
17
17
|
| `size` | `'large' \| 'medium' \| 'small' \| 'unset'` | | `medium` | Sets the size(max-width) of the Modal, use 'unset' for custom sizing. |
|
|
@@ -396,8 +396,8 @@ function useTreeState() {
|
|
|
396
396
|
clearTimeout(timers.current[id]);
|
|
397
397
|
}
|
|
398
398
|
timers.current[id] = setTimeout(() => {
|
|
399
|
-
setNodeStates((
|
|
400
|
-
...
|
|
399
|
+
setNodeStates((prev) => ({
|
|
400
|
+
...prev,
|
|
401
401
|
[id]: { hasLoaded: true, isExpanded: true, isLoading: false },
|
|
402
402
|
}));
|
|
403
403
|
delete timers.current[id];
|
|
@@ -500,11 +500,11 @@ function getParentChecked(
|
|
|
500
500
|
checked: CheckedState,
|
|
501
501
|
childKeys: readonly string[],
|
|
502
502
|
): { isChecked: boolean; isIndeterminate: boolean } {
|
|
503
|
-
const enabledKeys = childKeys.filter((
|
|
503
|
+
const enabledKeys = childKeys.filter((key) => !DISABLED_KEYS.has(key));
|
|
504
504
|
if (enabledKeys.length === 0) {
|
|
505
505
|
return { isChecked: false, isIndeterminate: false };
|
|
506
506
|
}
|
|
507
|
-
const checkedCount = enabledKeys.filter((
|
|
507
|
+
const checkedCount = enabledKeys.filter((key) => checked[key]).length;
|
|
508
508
|
if (checkedCount === 0) {
|
|
509
509
|
return { isChecked: false, isIndeterminate: false };
|
|
510
510
|
}
|
|
@@ -527,12 +527,12 @@ const Component = () => {
|
|
|
527
527
|
|
|
528
528
|
const toggleParent = useCallback(
|
|
529
529
|
(childKeys: readonly string[]) => {
|
|
530
|
-
const enabledKeys = childKeys.filter((
|
|
531
|
-
const isAllChecked = enabledKeys.every((
|
|
530
|
+
const enabledKeys = childKeys.filter((key) => !DISABLED_KEYS.has(key));
|
|
531
|
+
const isAllChecked = enabledKeys.every((key) => checked[key]);
|
|
532
532
|
setChecked((prev) => {
|
|
533
533
|
const next = { ...prev };
|
|
534
|
-
for (const
|
|
535
|
-
next[
|
|
534
|
+
for (const key of enabledKeys) {
|
|
535
|
+
next[key] = !isAllChecked;
|
|
536
536
|
}
|
|
537
537
|
return next;
|
|
538
538
|
});
|
|
@@ -17,8 +17,8 @@ Import: `import { OutlinedButton } from '@neo4j-ndl/react'`
|
|
|
17
17
|
| `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
|
|
18
18
|
| `leadingVisual` | `ReactNode` | | | Icon to display before the button content |
|
|
19
19
|
| `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
|
|
20
|
-
| `onClick` | `((
|
|
21
|
-
| `onKeyDown` | `((
|
|
20
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
|
|
21
|
+
| `onKeyDown` | `((event: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
|
|
22
22
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
23
23
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
24
24
|
| `target` | `HTMLAttributeAnchorTarget` | | | The target window for the link. Only applies when `as="a"`. Not present or required for other element types. |
|
|
@@ -176,9 +176,9 @@ const Component = () => {
|
|
|
176
176
|
label="Example positions"
|
|
177
177
|
selectProps={{
|
|
178
178
|
defaultValue: offsetOptions[0],
|
|
179
|
-
onChange: (
|
|
180
|
-
if (
|
|
181
|
-
setSelectedPosition(
|
|
179
|
+
onChange: (option) => {
|
|
180
|
+
if (option) {
|
|
181
|
+
setSelectedPosition(option.value);
|
|
182
182
|
}
|
|
183
183
|
},
|
|
184
184
|
options: offsetOptions,
|
|
@@ -12,7 +12,7 @@ Import: `import { SegmentedControl } from '@neo4j-ndl/react'`
|
|
|
12
12
|
| `children` | `ReactNode` | ✅ | | The children component of the segmented control |
|
|
13
13
|
| `hasOnlyIcons` | `boolean` | | `false` | If segmented control items will include only icons (makes controls rectangular) |
|
|
14
14
|
| `isFloating` | `boolean` | | `false` | Whether the segmented control has a box shadow applied |
|
|
15
|
-
| `onChange` | `(
|
|
15
|
+
| `onChange` | `(event: T) => void \| ((event: SetStateAction<T>) => void)` | ✅ | | The callback function triggered when the segmented control value changes |
|
|
16
16
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
17
17
|
| `selected` | `SegmentedControlID` | ✅ | | The currently selected option |
|
|
18
18
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of the segmented control |
|
|
@@ -14,7 +14,7 @@ Import: `import { SelectIconButton } from '@neo4j-ndl/react'`
|
|
|
14
14
|
| `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
|
|
15
15
|
| `isOpen` | `boolean` | | `false` | If the button is opened |
|
|
16
16
|
| `loadingMessage` | `string` | | `Loading` | Accessible message for screen readers when the button is in a loading state |
|
|
17
|
-
| `onClick` | `((
|
|
17
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
|
|
18
18
|
| `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
|
|
19
19
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
20
20
|
| `tooltipProps` | `TooltipObjectProps` | | | Props for the tooltip component. |
|
|
@@ -83,7 +83,7 @@ const Component = () => {
|
|
|
83
83
|
size="x-small"
|
|
84
84
|
isSelected={selected['x-small'] ?? false}
|
|
85
85
|
onClick={() =>
|
|
86
|
-
setSelected((
|
|
86
|
+
setSelected((prev) => ({ ...prev, ['x-small']: !prev['x-small'] }))
|
|
87
87
|
}
|
|
88
88
|
>
|
|
89
89
|
X-Small
|
|
@@ -91,21 +91,27 @@ const Component = () => {
|
|
|
91
91
|
<SelectableTag
|
|
92
92
|
size="small"
|
|
93
93
|
isSelected={selected['small'] ?? false}
|
|
94
|
-
onClick={() =>
|
|
94
|
+
onClick={() =>
|
|
95
|
+
setSelected((prev) => ({ ...prev, ['small']: !prev['small'] }))
|
|
96
|
+
}
|
|
95
97
|
>
|
|
96
98
|
Small
|
|
97
99
|
</SelectableTag>
|
|
98
100
|
<SelectableTag
|
|
99
101
|
size="medium"
|
|
100
102
|
isSelected={selected['medium'] ?? false}
|
|
101
|
-
onClick={() =>
|
|
103
|
+
onClick={() =>
|
|
104
|
+
setSelected((prev) => ({ ...prev, ['medium']: !prev['medium'] }))
|
|
105
|
+
}
|
|
102
106
|
>
|
|
103
107
|
Medium
|
|
104
108
|
</SelectableTag>
|
|
105
109
|
<SelectableTag
|
|
106
110
|
size="large"
|
|
107
111
|
isSelected={selected['large'] ?? false}
|
|
108
|
-
onClick={() =>
|
|
112
|
+
onClick={() =>
|
|
113
|
+
setSelected((prev) => ({ ...prev, ['large']: !prev['large'] }))
|
|
114
|
+
}
|
|
109
115
|
>
|
|
110
116
|
Large
|
|
111
117
|
</SelectableTag>
|
|
@@ -250,8 +250,8 @@ const Component = () => {
|
|
|
250
250
|
const hasError = !isValid;
|
|
251
251
|
|
|
252
252
|
const handleInputChange = useCallback(
|
|
253
|
-
(
|
|
254
|
-
const newInputValue =
|
|
253
|
+
(event: React.ChangeEvent<HTMLInputElement>) => {
|
|
254
|
+
const newInputValue = event.target.value;
|
|
255
255
|
setInputValue(newInputValue);
|
|
256
256
|
|
|
257
257
|
if (isValid) {
|
|
@@ -12,7 +12,7 @@ Import: `import { Tabs } from '@neo4j-ndl/react'`
|
|
|
12
12
|
| `children` | `ReactNode` | ✅ | | The content dislayed in the tabs |
|
|
13
13
|
| `fill` | `'filled' \| 'underline'` | | `underline` | The fill type of the tabs |
|
|
14
14
|
| `onBackground` | `'default' \| 'weak'` | | `weak` | What background the Tabs is placed on. This affects the gradient background of the scroll navigation buttons. |
|
|
15
|
-
| `onChange` | `(
|
|
15
|
+
| `onChange` | `(event: U) => void` | ✅ | | Callback function triggered when a new tab is selected |
|
|
16
16
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
17
17
|
| `size` | `'large' \| 'small'` | | `large` | The size of the tabs |
|
|
18
18
|
| `value` | `string` | ✅ | | The currently active tabId |
|
|
@@ -16,8 +16,8 @@ Import: `import { TextButton } from '@neo4j-ndl/react'`
|
|
|
16
16
|
| `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
|
|
17
17
|
| `leadingVisual` | `ReactNode` | | | Icon to display before the button content |
|
|
18
18
|
| `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
|
|
19
|
-
| `onClick` | `((
|
|
20
|
-
| `onKeyDown` | `((
|
|
19
|
+
| `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
|
|
20
|
+
| `onKeyDown` | `((event: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
|
|
21
21
|
| `ref` | `any` | | | A ref to apply to the root element. |
|
|
22
22
|
| `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
|
|
23
23
|
| `target` | `HTMLAttributeAnchorTarget` | | | The target window for the link. Only applies when `as="a"`. Not present or required for other element types. |
|
|
@@ -167,7 +167,7 @@ const Component = () => {
|
|
|
167
167
|
helpText="Help text"
|
|
168
168
|
placeholder="Placeholder"
|
|
169
169
|
value={textValue}
|
|
170
|
-
onChange={(
|
|
170
|
+
onChange={(event) => setTextValue(event.target.value)}
|
|
171
171
|
leadingElement={<UserIconOutline />}
|
|
172
172
|
trailingElement={
|
|
173
173
|
<CleanIconButton
|
|
@@ -465,7 +465,7 @@ const Component = () => {
|
|
|
465
465
|
leadingElement={<DatabasePlugIcon />}
|
|
466
466
|
trailingElement={<DatabasePlusIcon />}
|
|
467
467
|
value={searchValue}
|
|
468
|
-
onChange={(
|
|
468
|
+
onChange={(event) => setSearchValue(event.target.value)}
|
|
469
469
|
htmlAttributes={{ id: 'text-input' }}
|
|
470
470
|
/>
|
|
471
471
|
);
|