react-science 23.1.0 → 24.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/lib/components/accordion/accordion_context.d.ts +1 -1
- package/lib/components/accordion/accordion_context.js +3 -3
- package/lib/components/accordion/accordion_context.js.map +1 -1
- package/lib/components/accordion/accordion_context_provider.d.ts.map +1 -1
- package/lib/components/accordion/accordion_context_provider.js +3 -3
- package/lib/components/accordion/accordion_context_provider.js.map +1 -1
- package/lib/components/accordion/accordion_hooks.js +3 -3
- package/lib/components/accordion/accordion_hooks.js.map +1 -1
- package/lib/components/button/Button.d.ts.map +1 -1
- package/lib/components/button/Button.js +3 -2
- package/lib/components/button/Button.js.map +1 -1
- package/lib/components/color-picker/react-color/ColorPicker.d.ts +2 -2
- package/lib/components/color-picker/react-color/ColorPicker.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/ColorPicker.js +25 -22
- package/lib/components/color-picker/react-color/ColorPicker.js.map +1 -1
- package/lib/components/color-picker/react-color/common/Alpha.d.ts +1 -2
- package/lib/components/color-picker/react-color/common/Alpha.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/Alpha.js +5 -6
- package/lib/components/color-picker/react-color/common/Alpha.js.map +1 -1
- package/lib/components/color-picker/react-color/common/CheckBoard.d.ts +1 -2
- package/lib/components/color-picker/react-color/common/CheckBoard.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/CheckBoard.js +2 -3
- package/lib/components/color-picker/react-color/common/CheckBoard.js.map +1 -1
- package/lib/components/color-picker/react-color/common/EditableInput.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/EditableInput.js +30 -26
- package/lib/components/color-picker/react-color/common/EditableInput.js.map +1 -1
- package/lib/components/color-picker/react-color/common/Hue.d.ts +1 -2
- package/lib/components/color-picker/react-color/common/Hue.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/Hue.js +5 -6
- package/lib/components/color-picker/react-color/common/Hue.js.map +1 -1
- package/lib/components/color-picker/react-color/common/Saturation.d.ts +1 -2
- package/lib/components/color-picker/react-color/common/Saturation.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/Saturation.js +6 -7
- package/lib/components/color-picker/react-color/common/Saturation.js.map +1 -1
- package/lib/components/color-picker/react-color/common/Swatch.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/Swatch.js +10 -11
- package/lib/components/color-picker/react-color/common/Swatch.js.map +1 -1
- package/lib/components/color-picker/react-color/common/interaction.d.ts +1 -1
- package/lib/components/color-picker/react-color/common/interaction.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/common/interaction.js +9 -9
- package/lib/components/color-picker/react-color/common/interaction.js.map +1 -1
- package/lib/components/color-picker/react-color/common/useOnChange.js +2 -2
- package/lib/components/color-picker/react-color/common/useOnChange.js.map +1 -1
- package/lib/components/color-picker/react-color/helpers/alpha.d.ts +1 -1
- package/lib/components/color-picker/react-color/helpers/alpha.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/helpers/alpha.js +4 -5
- package/lib/components/color-picker/react-color/helpers/alpha.js.map +1 -1
- package/lib/components/color-picker/react-color/helpers/color.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/helpers/color.js +15 -13
- package/lib/components/color-picker/react-color/helpers/color.js.map +1 -1
- package/lib/components/color-picker/react-color/helpers/hue.d.ts +1 -1
- package/lib/components/color-picker/react-color/helpers/hue.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/helpers/hue.js +14 -23
- package/lib/components/color-picker/react-color/helpers/hue.js.map +1 -1
- package/lib/components/color-picker/react-color/helpers/saturation.d.ts +1 -1
- package/lib/components/color-picker/react-color/helpers/saturation.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/helpers/saturation.js +3 -3
- package/lib/components/color-picker/react-color/helpers/saturation.js.map +1 -1
- package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts +1 -1
- package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
- package/lib/components/color-picker/react-color/sketch/SketchFields.js +6 -6
- package/lib/components/color-picker/react-color/sketch/SketchFields.js.map +1 -1
- package/lib/components/color-picker/react-color/sketch/SketchPresetColors.js +8 -8
- package/lib/components/color-picker/react-color/sketch/SketchPresetColors.js.map +1 -1
- package/lib/components/dialog/ConfirmDialog.js +2 -2
- package/lib/components/dialog/ConfirmDialog.js.map +1 -1
- package/lib/components/draggable/draggable.d.ts.map +1 -1
- package/lib/components/draggable/draggable.js +10 -9
- package/lib/components/draggable/draggable.js.map +1 -1
- package/lib/components/form/components/field_groups/svg_text_style.d.ts.map +1 -1
- package/lib/components/form/components/field_groups/svg_text_style.js +8 -8
- package/lib/components/form/components/field_groups/svg_text_style.js.map +1 -1
- package/lib/components/form/components/field_groups/svg_text_style.schema.js +1 -1
- package/lib/components/form/components/field_groups/svg_text_style.schema.js.map +1 -1
- package/lib/components/form/components/input/checkbox.js +3 -3
- package/lib/components/form/components/input/checkbox.js.map +1 -1
- package/lib/components/form/components/input/color_picker.js +1 -1
- package/lib/components/form/components/input/color_picker.js.map +1 -1
- package/lib/components/form/components/input/draggable_numeric_input.js +1 -1
- package/lib/components/form/components/input/draggable_numeric_input.js.map +1 -1
- package/lib/components/form/components/input/index.d.ts +1 -0
- package/lib/components/form/components/input/index.d.ts.map +1 -1
- package/lib/components/form/components/input/input.js +1 -1
- package/lib/components/form/components/input/input.js.map +1 -1
- package/lib/components/form/components/input/numeric_input.js +1 -1
- package/lib/components/form/components/input/numeric_input.js.map +1 -1
- package/lib/components/form/components/input/radio_group.js +1 -1
- package/lib/components/form/components/input/radio_group.js.map +1 -1
- package/lib/components/form/components/input/select.js +1 -1
- package/lib/components/form/components/input/select.js.map +1 -1
- package/lib/components/form/components/input/switch.js +1 -1
- package/lib/components/form/components/input/switch.js.map +1 -1
- package/lib/components/form/components/input/textarea.js +1 -1
- package/lib/components/form/components/input/textarea.js.map +1 -1
- package/lib/components/form/components/input_groups/form.js +2 -2
- package/lib/components/form/components/input_groups/form.js.map +1 -1
- package/lib/components/form/components/input_groups/form_context.d.ts +1 -1
- package/lib/components/form/components/input_groups/form_context.js +3 -3
- package/lib/components/form/components/input_groups/form_context.js.map +1 -1
- package/lib/components/form/components/layout/form.d.ts +1 -1
- package/lib/components/form/components/layout/form.d.ts.map +1 -1
- package/lib/components/form/components/layout/form.js +1 -4
- package/lib/components/form/components/layout/form.js.map +1 -1
- package/lib/components/form/utils/validators.d.ts +14 -8
- package/lib/components/form/utils/validators.d.ts.map +1 -1
- package/lib/components/form/utils/validators.js +11 -11
- package/lib/components/form/utils/validators.js.map +1 -1
- package/lib/components/fullscreen/fullscreen_context.d.ts +1 -1
- package/lib/components/fullscreen/fullscreen_context.js +3 -3
- package/lib/components/fullscreen/fullscreen_context.js.map +1 -1
- package/lib/components/fullscreen/fullscreen_context.provider.d.ts +1 -3
- package/lib/components/fullscreen/fullscreen_context.provider.d.ts.map +1 -1
- package/lib/components/fullscreen/fullscreen_context.provider.js +3 -3
- package/lib/components/fullscreen/fullscreen_context.provider.js.map +1 -1
- package/lib/components/hooks/useDoubleClick.js +8 -8
- package/lib/components/hooks/useDoubleClick.js.map +1 -1
- package/lib/components/hooks/useOnClickOutside.js +2 -2
- package/lib/components/hooks/useOnClickOutside.js.map +1 -1
- package/lib/components/hooks/useOnOff.d.ts +1 -1
- package/lib/components/hooks/useOnOff.d.ts.map +1 -1
- package/lib/components/hooks/useOnOff.js +5 -5
- package/lib/components/hooks/useOnOff.js.map +1 -1
- package/lib/components/hooks/useSelect.d.ts.map +1 -1
- package/lib/components/hooks/useSelect.js +4 -3
- package/lib/components/hooks/useSelect.js.map +1 -1
- package/lib/components/hooks/useToggle.d.ts +1 -1
- package/lib/components/hooks/useToggle.d.ts.map +1 -1
- package/lib/components/hooks/useToggle.js +2 -2
- package/lib/components/hooks/useToggle.js.map +1 -1
- package/lib/components/info-panel/InfoPanel.d.ts.map +1 -1
- package/lib/components/info-panel/InfoPanel.js +10 -13
- package/lib/components/info-panel/InfoPanel.js.map +1 -1
- package/lib/components/input/radio-button-group/RadioButtonGroup.d.ts.map +1 -1
- package/lib/components/input/radio-button-group/RadioButtonGroup.js +3 -2
- package/lib/components/input/radio-button-group/RadioButtonGroup.js.map +1 -1
- package/lib/components/logger/FifoLoggerDialog.d.ts.map +1 -1
- package/lib/components/logger/FifoLoggerDialog.js +3 -1
- package/lib/components/logger/FifoLoggerDialog.js.map +1 -1
- package/lib/components/logger/FifoLoggerProvider.d.ts.map +1 -1
- package/lib/components/logger/FifoLoggerProvider.js +2 -2
- package/lib/components/logger/FifoLoggerProvider.js.map +1 -1
- package/lib/components/logger/loggerContext.d.ts +1 -1
- package/lib/components/logger/loggerContext.js +1 -1
- package/lib/components/logger/useFifoLogger.d.ts.map +1 -1
- package/lib/components/logger/useFifoLogger.js +7 -5
- package/lib/components/logger/useFifoLogger.js.map +1 -1
- package/lib/components/root-layout/root_layout.d.ts.map +1 -1
- package/lib/components/root-layout/root_layout.js +5 -3
- package/lib/components/root-layout/root_layout.js.map +1 -1
- package/lib/components/root-layout/root_layout_context.d.ts +1 -1
- package/lib/components/root-layout/root_layout_context.js +3 -3
- package/lib/components/root-layout/root_layout_context.js.map +1 -1
- package/lib/components/root-layout/root_layout_context.provider.js +2 -2
- package/lib/components/root-layout/root_layout_context.provider.js.map +1 -1
- package/lib/components/selected-total/SelectedTotal.js +1 -1
- package/lib/components/selected-total/SelectedTotal.js.map +1 -1
- package/lib/components/split_pane/split_pane.d.ts.map +1 -1
- package/lib/components/split_pane/split_pane.js +14 -18
- package/lib/components/split_pane/split_pane.js.map +1 -1
- package/lib/components/split_pane/split_pane_helpers.js +1 -1
- package/lib/components/split_pane/split_pane_helpers.js.map +1 -1
- package/lib/components/split_pane/use_split_pane_size.d.ts.map +1 -1
- package/lib/components/split_pane/use_split_pane_size.js +4 -3
- package/lib/components/split_pane/use_split_pane_size.js.map +1 -1
- package/lib/components/table/default_table_cell.d.ts.map +1 -1
- package/lib/components/table/default_table_cell.js +6 -14
- package/lib/components/table/default_table_cell.js.map +1 -1
- package/lib/components/table/flash_row/flashed_row_context.d.ts +1 -1
- package/lib/components/table/flash_row/flashed_row_context.js +3 -3
- package/lib/components/table/flash_row/flashed_row_context.js.map +1 -1
- package/lib/components/table/flash_row/flashed_row_provider.d.ts.map +1 -1
- package/lib/components/table/flash_row/flashed_row_provider.js +5 -4
- package/lib/components/table/flash_row/flashed_row_provider.js.map +1 -1
- package/lib/components/table/flash_row/use_flash_row_effect.d.ts.map +1 -1
- package/lib/components/table/flash_row/use_flash_row_effect.js +6 -5
- package/lib/components/table/flash_row/use_flash_row_effect.js.map +1 -1
- package/lib/components/table/preview_table.js +2 -2
- package/lib/components/table/preview_table.js.map +1 -1
- package/lib/components/table/preview_table_context.d.ts +2 -2
- package/lib/components/table/preview_table_context.js +6 -6
- package/lib/components/table/preview_table_context.js.map +1 -1
- package/lib/components/table/reorder_rows/draggable_row_context.d.ts +4 -6
- package/lib/components/table/reorder_rows/draggable_row_context.d.ts.map +1 -1
- package/lib/components/table/reorder_rows/draggable_row_context.js +3 -3
- package/lib/components/table/reorder_rows/draggable_row_context.js.map +1 -1
- package/lib/components/table/reorder_rows/draggable_row_tr.d.ts.map +1 -1
- package/lib/components/table/reorder_rows/draggable_row_tr.js +4 -3
- package/lib/components/table/reorder_rows/draggable_row_tr.js.map +1 -1
- package/lib/components/table/reorder_rows/item_order_context.d.ts +2 -2
- package/lib/components/table/reorder_rows/item_order_context.d.ts.map +1 -1
- package/lib/components/table/reorder_rows/item_order_context.js +3 -3
- package/lib/components/table/reorder_rows/item_order_context.js.map +1 -1
- package/lib/components/table/reorder_rows/item_order_provider.d.ts.map +1 -1
- package/lib/components/table/reorder_rows/item_order_provider.js +2 -2
- package/lib/components/table/reorder_rows/item_order_provider.js.map +1 -1
- package/lib/components/table/reorder_rows/use_drop_monitor.d.ts +2 -2
- package/lib/components/table/reorder_rows/use_drop_monitor.d.ts.map +1 -1
- package/lib/components/table/reorder_rows/use_drop_monitor.js +4 -4
- package/lib/components/table/reorder_rows/use_drop_monitor.js.map +1 -1
- package/lib/components/table/table_body.d.ts.map +1 -1
- package/lib/components/table/table_body.js +10 -6
- package/lib/components/table/table_body.js.map +1 -1
- package/lib/components/table/table_features.js +7 -7
- package/lib/components/table/table_features.js.map +1 -1
- package/lib/components/table/table_header_cell.d.ts +1 -1
- package/lib/components/table/table_header_cell.d.ts.map +1 -1
- package/lib/components/table/table_root.d.ts +2 -2
- package/lib/components/table/table_root.d.ts.map +1 -1
- package/lib/components/table/table_root.js +12 -12
- package/lib/components/table/table_root.js.map +1 -1
- package/lib/components/table/table_utils.d.ts +1 -1
- package/lib/components/table/table_utils.d.ts.map +1 -1
- package/lib/components/table/table_utils.js.map +1 -1
- package/lib/components/table/use_table_columns.d.ts +2 -2
- package/lib/components/table/use_table_columns.d.ts.map +1 -1
- package/lib/components/table/use_table_columns.js +4 -4
- package/lib/components/table/use_table_columns.js.map +1 -1
- package/lib/components/table/use_table_scroll.d.ts.map +1 -1
- package/lib/components/table/use_table_scroll.js +13 -15
- package/lib/components/table/use_table_scroll.js.map +1 -1
- package/lib/components/toolbar/OverflowButton.js +5 -5
- package/lib/components/toolbar/OverflowButton.js.map +1 -1
- package/lib/components/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/components/toolbar/Toolbar.js +5 -8
- package/lib/components/toolbar/Toolbar.js.map +1 -1
- package/lib/components/toolbar/TooltipHelpContent.d.ts.map +1 -1
- package/lib/components/toolbar/TooltipHelpContent.js +5 -2
- package/lib/components/toolbar/TooltipHelpContent.js.map +1 -1
- package/lib/components/toolbar/toolbarContext.d.ts +3 -3
- package/lib/components/toolbar/toolbarContext.d.ts.map +1 -1
- package/lib/components/toolbar/toolbarContext.js +4 -4
- package/lib/components/toolbar/toolbarContext.js.map +1 -1
- package/lib/components/toolbar/useCheckOverflow.d.ts.map +1 -1
- package/lib/components/toolbar/useCheckOverflow.js +1 -0
- package/lib/components/toolbar/useCheckOverflow.js.map +1 -1
- package/lib/components/utils/debounce.d.ts +1 -1
- package/lib/components/utils/debounce.d.ts.map +1 -1
- package/lib/components/utils/debounce.js +3 -3
- package/lib/components/utils/debounce.js.map +1 -1
- package/lib/components/utils/forward_all_props_except.d.ts +2 -0
- package/lib/components/utils/forward_all_props_except.d.ts.map +1 -0
- package/lib/components/utils/{shouldForwardPropExcept.js → forward_all_props_except.js} +2 -2
- package/lib/components/utils/forward_all_props_except.js.map +1 -0
- package/lib/components/utils/svg.d.ts.map +1 -1
- package/lib/components/utils/svg.js +12 -6
- package/lib/components/utils/svg.js.map +1 -1
- package/lib/components/utils/svg_path_builder.d.ts +8 -8
- package/lib/components/utils/svg_path_builder.d.ts.map +1 -1
- package/lib/components/utils/svg_path_builder.js +16 -14
- package/lib/components/utils/svg_path_builder.js.map +1 -1
- package/lib/components/utils/throttle.d.ts +1 -1
- package/lib/components/utils/throttle.d.ts.map +1 -1
- package/lib/components/utils/throttle.js +10 -9
- package/lib/components/utils/throttle.js.map +1 -1
- package/package.json +47 -47
- package/src/components/accordion/accordion_context.ts +3 -3
- package/src/components/accordion/accordion_context_provider.tsx +3 -7
- package/src/components/accordion/accordion_hooks.ts +3 -3
- package/src/components/button/Button.tsx +11 -2
- package/src/components/color-picker/react-color/ColorPicker.tsx +36 -30
- package/src/components/color-picker/react-color/common/Alpha.tsx +5 -7
- package/src/components/color-picker/react-color/common/CheckBoard.tsx +2 -4
- package/src/components/color-picker/react-color/common/EditableInput.tsx +35 -29
- package/src/components/color-picker/react-color/common/Hue.tsx +5 -7
- package/src/components/color-picker/react-color/common/Saturation.tsx +7 -9
- package/src/components/color-picker/react-color/common/Swatch.tsx +18 -9
- package/src/components/color-picker/react-color/common/interaction.tsx +12 -13
- package/src/components/color-picker/react-color/common/useOnChange.tsx +2 -2
- package/src/components/color-picker/react-color/helpers/alpha.ts +6 -5
- package/src/components/color-picker/react-color/helpers/color.ts +16 -13
- package/src/components/color-picker/react-color/helpers/hue.ts +16 -25
- package/src/components/color-picker/react-color/helpers/saturation.ts +5 -3
- package/src/components/color-picker/react-color/sketch/SketchFields.tsx +8 -8
- package/src/components/color-picker/react-color/sketch/SketchPresetColors.tsx +9 -9
- package/src/components/dialog/ConfirmDialog.tsx +2 -2
- package/src/components/draggable/draggable.tsx +20 -18
- package/src/components/form/components/field_groups/svg_text_style.schema.ts +1 -1
- package/src/components/form/components/field_groups/svg_text_style.tsx +17 -15
- package/src/components/form/components/input/checkbox.tsx +3 -3
- package/src/components/form/components/input/color_picker.tsx +1 -1
- package/src/components/form/components/input/draggable_numeric_input.tsx +1 -1
- package/src/components/form/components/input/index.ts +1 -0
- package/src/components/form/components/input/input.tsx +1 -1
- package/src/components/form/components/input/numeric_input.tsx +1 -1
- package/src/components/form/components/input/radio_group.tsx +1 -1
- package/src/components/form/components/input/select.tsx +1 -1
- package/src/components/form/components/input/switch.tsx +1 -1
- package/src/components/form/components/input/textarea.tsx +1 -1
- package/src/components/form/components/input_groups/form.tsx +3 -3
- package/src/components/form/components/input_groups/form_context.ts +3 -3
- package/src/components/form/components/layout/form.tsx +4 -6
- package/src/components/form/utils/validators.ts +29 -23
- package/src/components/fullscreen/fullscreen_context.provider.tsx +4 -9
- package/src/components/fullscreen/fullscreen_context.ts +3 -3
- package/src/components/hooks/useDoubleClick.ts +8 -8
- package/src/components/hooks/useOnClickOutside.ts +2 -2
- package/src/components/hooks/useOnOff.ts +5 -5
- package/src/components/hooks/useSelect.tsx +5 -3
- package/src/components/hooks/useToggle.ts +2 -2
- package/src/components/info-panel/InfoPanel.tsx +12 -16
- package/src/components/input/radio-button-group/RadioButtonGroup.tsx +5 -2
- package/src/components/logger/FifoLoggerDialog.tsx +1 -0
- package/src/components/logger/FifoLoggerProvider.tsx +2 -4
- package/src/components/logger/loggerContext.ts +1 -1
- package/src/components/logger/useFifoLogger.ts +7 -5
- package/src/components/root-layout/root_layout.tsx +6 -3
- package/src/components/root-layout/root_layout_context.provider.tsx +3 -3
- package/src/components/root-layout/root_layout_context.ts +3 -3
- package/src/components/selected-total/SelectedTotal.tsx +1 -1
- package/src/components/split_pane/split_pane.tsx +17 -20
- package/src/components/split_pane/split_pane_helpers.ts +1 -1
- package/src/components/split_pane/use_split_pane_size.tsx +4 -3
- package/src/components/table/default_table_cell.tsx +10 -11
- package/src/components/table/flash_row/flashed_row_context.ts +3 -3
- package/src/components/table/flash_row/flashed_row_provider.tsx +8 -6
- package/src/components/table/flash_row/use_flash_row_effect.ts +7 -5
- package/src/components/table/preview_table.tsx +3 -3
- package/src/components/table/preview_table_context.ts +6 -6
- package/src/components/table/reorder_rows/draggable_row_context.ts +6 -10
- package/src/components/table/reorder_rows/draggable_row_tr.tsx +11 -6
- package/src/components/table/reorder_rows/item_order_context.ts +4 -4
- package/src/components/table/reorder_rows/item_order_provider.tsx +2 -6
- package/src/components/table/reorder_rows/use_drop_monitor.ts +4 -4
- package/src/components/table/table_body.tsx +19 -5
- package/src/components/table/table_features.ts +12 -12
- package/src/components/table/table_root.tsx +20 -18
- package/src/components/table/table_utils.ts +4 -5
- package/src/components/table/use_table_columns.ts +7 -7
- package/src/components/table/use_table_scroll.ts +18 -21
- package/src/components/toolbar/OverflowButton.tsx +5 -5
- package/src/components/toolbar/Toolbar.tsx +8 -20
- package/src/components/toolbar/TooltipHelpContent.tsx +10 -5
- package/src/components/toolbar/toolbarContext.ts +5 -7
- package/src/components/toolbar/useCheckOverflow.tsx +1 -0
- package/src/components/utils/debounce.ts +5 -5
- package/src/components/utils/{shouldForwardPropExcept.ts → forward_all_props_except.ts} +1 -1
- package/src/components/utils/svg.ts +5 -2
- package/src/components/utils/svg_path_builder.ts +22 -19
- package/src/components/utils/throttle.ts +13 -11
- package/lib/components/utils/shouldForwardPropExcept.d.ts +0 -2
- package/lib/components/utils/shouldForwardPropExcept.d.ts.map +0 -1
- package/lib/components/utils/shouldForwardPropExcept.js.map +0 -1
|
@@ -56,9 +56,11 @@ export const FieldGroupSVGTextStyleFields = withFieldGroup({
|
|
|
56
56
|
<Checkbox
|
|
57
57
|
labelElement={<BoldLabel>Bold</BoldLabel>}
|
|
58
58
|
name={field.name}
|
|
59
|
-
checked={
|
|
60
|
-
onChange={(
|
|
61
|
-
field.handleChange(
|
|
59
|
+
checked={isBoldFontWeight(field.state.value)}
|
|
60
|
+
onChange={(event) =>
|
|
61
|
+
field.handleChange(
|
|
62
|
+
booleanToFontWeight(event.target.checked),
|
|
63
|
+
)
|
|
62
64
|
}
|
|
63
65
|
onBlur={field.handleBlur}
|
|
64
66
|
/>
|
|
@@ -69,9 +71,9 @@ export const FieldGroupSVGTextStyleFields = withFieldGroup({
|
|
|
69
71
|
<Checkbox
|
|
70
72
|
labelElement={<ItalicLabel>Italic</ItalicLabel>}
|
|
71
73
|
name={field.name}
|
|
72
|
-
checked={
|
|
73
|
-
onChange={(
|
|
74
|
-
field.handleChange(booleanToFontStyle(
|
|
74
|
+
checked={isItalicFontStyle(field.state.value)}
|
|
75
|
+
onChange={(event) =>
|
|
76
|
+
field.handleChange(booleanToFontStyle(event.target.checked))
|
|
75
77
|
}
|
|
76
78
|
onBlur={field.handleBlur}
|
|
77
79
|
/>
|
|
@@ -123,7 +125,7 @@ function TextStyleFieldPreview(props: TextStyleFieldPreviewProps) {
|
|
|
123
125
|
<TextStyleFieldPreviewErrorContainer>
|
|
124
126
|
{safeResult.error.issues.map((error) => (
|
|
125
127
|
<li key={`${error.path.join('.')}-${error.code}`}>
|
|
126
|
-
{error.path.join('.')}:
|
|
128
|
+
{error.path.join('.')}: {error.message}
|
|
127
129
|
</li>
|
|
128
130
|
))}
|
|
129
131
|
</TextStyleFieldPreviewErrorContainer>
|
|
@@ -159,22 +161,22 @@ const ItalicLabel = styled.span`
|
|
|
159
161
|
font-style: italic;
|
|
160
162
|
`;
|
|
161
163
|
|
|
162
|
-
function
|
|
163
|
-
weight: SvgTextStyleFields['fontWeight'],
|
|
164
|
-
): boolean {
|
|
164
|
+
function isBoldFontWeight(weight: SvgTextStyleFields['fontWeight']): boolean {
|
|
165
165
|
return weight === 'bold';
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
function booleanToFontWeight(
|
|
169
|
-
|
|
169
|
+
isBold: boolean,
|
|
170
170
|
): SvgTextStyleFields['fontWeight'] {
|
|
171
|
-
return
|
|
171
|
+
return isBold ? 'bold' : 'normal';
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
function
|
|
174
|
+
function isItalicFontStyle(weight: SvgTextStyleFields['fontStyle']): boolean {
|
|
175
175
|
return weight === 'italic';
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
function booleanToFontStyle(
|
|
179
|
-
|
|
178
|
+
function booleanToFontStyle(
|
|
179
|
+
isItalic: boolean,
|
|
180
|
+
): SvgTextStyleFields['fontStyle'] {
|
|
181
|
+
return isItalic ? 'italic' : 'normal';
|
|
180
182
|
}
|
|
@@ -22,14 +22,14 @@ export function Checkbox(props: CheckboxProps) {
|
|
|
22
22
|
const field = useFieldContext<boolean>();
|
|
23
23
|
const error = field
|
|
24
24
|
.getMeta()
|
|
25
|
-
.errors.map((
|
|
25
|
+
.errors.map((error) => error.message)
|
|
26
26
|
.at(0);
|
|
27
27
|
|
|
28
28
|
const intent = getIntent(error);
|
|
29
29
|
|
|
30
30
|
function onChange(event: ChangeEvent<HTMLInputElement>) {
|
|
31
|
-
const
|
|
32
|
-
return field.handleChange(
|
|
31
|
+
const isChecked = event.target.checked;
|
|
32
|
+
return field.handleChange(isChecked);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
return (
|
|
@@ -18,7 +18,7 @@ export function ColorPicker(props: ColorPickerProps) {
|
|
|
18
18
|
const field = useFieldContext<string>();
|
|
19
19
|
const error = field
|
|
20
20
|
.getMeta()
|
|
21
|
-
.errors.map((
|
|
21
|
+
.errors.map((error) => error.message)
|
|
22
22
|
.at(0);
|
|
23
23
|
|
|
24
24
|
function onChange(color: ChangeCallbackComponentProps) {
|
|
@@ -48,7 +48,7 @@ export function DraggableNumericInput(props: DraggableNumericInputProps) {
|
|
|
48
48
|
const field = useFieldContext<string>();
|
|
49
49
|
const error = field
|
|
50
50
|
.getMeta()
|
|
51
|
-
.errors.map((
|
|
51
|
+
.errors.map((error) => error.message)
|
|
52
52
|
.at(0);
|
|
53
53
|
|
|
54
54
|
const intent = getIntent(error);
|
|
@@ -12,3 +12,4 @@ export type {
|
|
|
12
12
|
export type { SubmitButton as _SubmitButton } from './submit_button.js';
|
|
13
13
|
export type { Switch as _Switch } from './switch.js';
|
|
14
14
|
export type { DraggableNumericInput as _DraggableNumericInput } from './draggable_numeric_input.js';
|
|
15
|
+
export type { TextArea as _TextArea } from './textarea.tsx';
|
|
@@ -16,7 +16,7 @@ export function Input(props: InputProps) {
|
|
|
16
16
|
const field = useFieldContext<string>();
|
|
17
17
|
const error = field
|
|
18
18
|
.getMeta()
|
|
19
|
-
.errors.map((
|
|
19
|
+
.errors.map((error) => error.message)
|
|
20
20
|
.at(0);
|
|
21
21
|
|
|
22
22
|
function onChange(event: ChangeEvent<HTMLInputElement>) {
|
|
@@ -32,7 +32,7 @@ export function NumericInput(props: NumericInputProps) {
|
|
|
32
32
|
const field = useFieldContext<string>();
|
|
33
33
|
const error = field
|
|
34
34
|
.getMeta()
|
|
35
|
-
.errors.map((
|
|
35
|
+
.errors.map((error) => error.message)
|
|
36
36
|
.at(0);
|
|
37
37
|
|
|
38
38
|
const intent = getIntent(error);
|
|
@@ -38,7 +38,7 @@ export function RadioGroup(props: RadioGroupProps) {
|
|
|
38
38
|
const field = useFieldContext<string>();
|
|
39
39
|
const error = field
|
|
40
40
|
.getMeta()
|
|
41
|
-
.errors.map((
|
|
41
|
+
.errors.map((error) => error.message)
|
|
42
42
|
.at(0);
|
|
43
43
|
|
|
44
44
|
function onChange(event: ChangeEvent<HTMLInputElement>) {
|
|
@@ -41,7 +41,7 @@ export function Select(props: SelectProps) {
|
|
|
41
41
|
const field = useFieldContext<SelectId | undefined>();
|
|
42
42
|
const error = field
|
|
43
43
|
.getMeta()
|
|
44
|
-
.errors.map((
|
|
44
|
+
.errors.map((error) => error.message)
|
|
45
45
|
.at(0);
|
|
46
46
|
|
|
47
47
|
const intent = getIntent(error);
|
|
@@ -26,7 +26,7 @@ export function Switch(props: SwitchProps) {
|
|
|
26
26
|
const field = useFieldContext<boolean>();
|
|
27
27
|
const error = field
|
|
28
28
|
.getMeta()
|
|
29
|
-
.errors.map((
|
|
29
|
+
.errors.map((error) => error.message)
|
|
30
30
|
.at(0);
|
|
31
31
|
|
|
32
32
|
function onChange(event: ChangeEvent<HTMLInputElement>) {
|
|
@@ -20,7 +20,7 @@ export function TextArea(props: TextAreaProps) {
|
|
|
20
20
|
const field = useFieldContext<string>();
|
|
21
21
|
const error = field
|
|
22
22
|
.getMeta()
|
|
23
|
-
.errors.map((
|
|
23
|
+
.errors.map((error) => error.message)
|
|
24
24
|
.at(0);
|
|
25
25
|
|
|
26
26
|
function onChange(event: ChangeEvent<HTMLTextAreaElement>) {
|
|
@@ -2,7 +2,7 @@ import type { FormHTMLAttributes, ReactNode } from 'react';
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
|
|
4
4
|
import type { Layout } from './form_context.js';
|
|
5
|
-
import {
|
|
5
|
+
import { FormContext } from './form_context.js';
|
|
6
6
|
|
|
7
7
|
export interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
|
|
8
8
|
children: ReactNode;
|
|
@@ -24,8 +24,8 @@ export function Form(props: FormProps) {
|
|
|
24
24
|
}, [layout]);
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
|
-
<
|
|
27
|
+
<FormContext value={contextValue}>
|
|
28
28
|
<form {...otherProps}>{children}</form>
|
|
29
|
-
</
|
|
29
|
+
</FormContext>
|
|
30
30
|
);
|
|
31
31
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createContext,
|
|
1
|
+
import { createContext, use } from 'react';
|
|
2
2
|
|
|
3
3
|
export type Layout = 'inline' | 'stacked';
|
|
4
4
|
|
|
5
|
-
export const
|
|
5
|
+
export const FormContext = createContext<{ layout: Layout }>({
|
|
6
6
|
layout: 'stacked',
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
export function useFormContext() {
|
|
10
|
-
return
|
|
10
|
+
return use(FormContext);
|
|
11
11
|
}
|
|
@@ -61,11 +61,7 @@ export const AppForm = minimalForm(
|
|
|
61
61
|
event.preventDefault();
|
|
62
62
|
if (onSubmitStopPropagation) event.stopPropagation();
|
|
63
63
|
|
|
64
|
-
const meta = onSubmitMeta?.(
|
|
65
|
-
// onSubmit event is not typed properly.
|
|
66
|
-
// It uses Event instead of SubmitEvent.
|
|
67
|
-
event as SyntheticEvent<HTMLFormElement, SubmitEvent>,
|
|
68
|
-
);
|
|
64
|
+
const meta = onSubmitMeta?.(event);
|
|
69
65
|
void form.handleSubmit(meta);
|
|
70
66
|
}}
|
|
71
67
|
{...domProps}
|
|
@@ -92,7 +88,9 @@ type MinimalProps<Props extends { form: unknown }> = Omit<Props, 'form'> & {
|
|
|
92
88
|
'pushFieldValue' | 'insertFieldValue' | 'replaceFieldValue'
|
|
93
89
|
>;
|
|
94
90
|
};
|
|
95
|
-
type MinimalFunctionComponent<Props> = (
|
|
91
|
+
type MinimalFunctionComponent<Props> = (
|
|
92
|
+
props: Props,
|
|
93
|
+
) => ReactNode | Promise<ReactNode>;
|
|
96
94
|
|
|
97
95
|
function minimalForm<Props extends { form: unknown }>(
|
|
98
96
|
component: MinimalFunctionComponent<Props>,
|
|
@@ -2,15 +2,21 @@ import type { ZodCodec, ZodNumber, ZodOptional, ZodString } from 'zod';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
interface StringToNumberOptionalOptions<
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
StringSchema extends ZodString,
|
|
6
|
+
NumberSchema extends ZodNumber,
|
|
7
7
|
> {
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @default z.string()
|
|
10
|
+
*/
|
|
11
|
+
strSchema?: StringSchema;
|
|
12
|
+
/**
|
|
13
|
+
* @default z.number()
|
|
14
|
+
*/
|
|
15
|
+
numSchema?: NumberSchema;
|
|
16
|
+
/**
|
|
17
|
+
* @default Number
|
|
18
|
+
*/
|
|
19
|
+
parse?: (value: string) => number;
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
/**
|
|
@@ -18,28 +24,28 @@ interface StringToNumberOptionalOptions<
|
|
|
18
24
|
* @param options
|
|
19
25
|
*/
|
|
20
26
|
export function stringToNumberOptional<
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
StringSchema extends ZodString = ZodString,
|
|
28
|
+
NumberSchema extends ZodNumber = ZodNumber,
|
|
23
29
|
>(
|
|
24
|
-
options: StringToNumberOptionalOptions<
|
|
25
|
-
): ZodCodec<ZodOptional<
|
|
26
|
-
const
|
|
27
|
-
const
|
|
30
|
+
options: StringToNumberOptionalOptions<StringSchema, NumberSchema> = {},
|
|
31
|
+
): ZodCodec<ZodOptional<StringSchema>, ZodOptional<NumberSchema>> {
|
|
32
|
+
const stringSchema = options?.strSchema ?? (z.string() as StringSchema);
|
|
33
|
+
const numberSchema = options?.numSchema ?? (z.number() as NumberSchema);
|
|
28
34
|
const parse = options?.parse ?? Number;
|
|
29
35
|
|
|
30
|
-
return z.codec(
|
|
31
|
-
encode: (
|
|
32
|
-
if (
|
|
36
|
+
return z.codec(stringSchema.optional(), numberSchema.optional(), {
|
|
37
|
+
encode: (value) => {
|
|
38
|
+
if (value === undefined) return undefined;
|
|
33
39
|
|
|
34
|
-
return String(
|
|
40
|
+
return String(value) as z.output<ZodOptional<StringSchema>>;
|
|
35
41
|
},
|
|
36
|
-
decode: (
|
|
37
|
-
if (!
|
|
42
|
+
decode: (value) => {
|
|
43
|
+
if (!value) return undefined;
|
|
38
44
|
|
|
39
|
-
const
|
|
40
|
-
if (Number.isNaN(
|
|
45
|
+
const parsed = parse(value);
|
|
46
|
+
if (Number.isNaN(parsed)) return undefined;
|
|
41
47
|
|
|
42
|
-
return
|
|
48
|
+
return parsed as z.input<ZodOptional<NumberSchema>>;
|
|
43
49
|
},
|
|
44
50
|
});
|
|
45
51
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactNode, RefObject } from 'react';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { useFullScreenHandle } from 'react-full-screen';
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
// Remove for React 19.
|
|
8
|
-
type RefObject<T> = MutableRefObject<T>;
|
|
5
|
+
import { FullscreenContext } from './fullscreen_context.js';
|
|
9
6
|
|
|
10
7
|
export interface FullscreenProviderProps {
|
|
11
8
|
/**
|
|
@@ -33,7 +30,7 @@ export function FullScreenProvider(props: FullscreenProviderProps) {
|
|
|
33
30
|
onToggleError?.(error, handle.active ? 'exit' : 'enter');
|
|
34
31
|
}
|
|
35
32
|
try {
|
|
36
|
-
handleToggle().catch(handleError);
|
|
33
|
+
void handleToggle().catch(handleError);
|
|
37
34
|
} catch (error) {
|
|
38
35
|
handleError(error);
|
|
39
36
|
}
|
|
@@ -45,8 +42,6 @@ export function FullScreenProvider(props: FullscreenProviderProps) {
|
|
|
45
42
|
}, [handle, onToggleError]);
|
|
46
43
|
|
|
47
44
|
return (
|
|
48
|
-
<
|
|
49
|
-
{children(handle.node)}
|
|
50
|
-
</fullscreenContext.Provider>
|
|
45
|
+
<FullscreenContext value={value}>{children(handle.node)}</FullscreenContext>
|
|
51
46
|
);
|
|
52
47
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createContext,
|
|
1
|
+
import { createContext, use } from 'react';
|
|
2
2
|
|
|
3
3
|
interface FullscreenState {
|
|
4
4
|
isFullScreen: boolean;
|
|
@@ -14,10 +14,10 @@ const fullscreenContextInit = {
|
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
export const
|
|
17
|
+
export const FullscreenContext = createContext<ContextType>(
|
|
18
18
|
fullscreenContextInit,
|
|
19
19
|
);
|
|
20
20
|
|
|
21
21
|
export function useFullscreen() {
|
|
22
|
-
return
|
|
22
|
+
return use(FullscreenContext);
|
|
23
23
|
}
|
|
@@ -11,27 +11,27 @@ export function useDoubleClick<EventData>({
|
|
|
11
11
|
onDoubleClick,
|
|
12
12
|
delay = 250,
|
|
13
13
|
}: UseDoubleClickOptions<EventData>) {
|
|
14
|
-
const
|
|
14
|
+
const timeoutRef = useRef<number | null>(null);
|
|
15
15
|
useEffect(() => {
|
|
16
16
|
return () => {
|
|
17
17
|
// Cleanup timeout when the component is unmounted.
|
|
18
|
-
if (
|
|
19
|
-
window.clearTimeout(
|
|
18
|
+
if (timeoutRef.current) {
|
|
19
|
+
window.clearTimeout(timeoutRef.current);
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
}, []);
|
|
23
23
|
const handleClick = useCallback(
|
|
24
24
|
(data: EventData) => {
|
|
25
|
-
if (
|
|
25
|
+
if (timeoutRef.current === null) {
|
|
26
26
|
// No recent click. Start timer to wait for possible double click.
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
timeoutRef.current = window.setTimeout(() => {
|
|
28
|
+
timeoutRef.current = null;
|
|
29
29
|
onClick?.(data);
|
|
30
30
|
}, delay);
|
|
31
31
|
} else {
|
|
32
32
|
// A click occured recently. Trigger double click event and stop timer.
|
|
33
|
-
window.clearTimeout(
|
|
34
|
-
|
|
33
|
+
window.clearTimeout(timeoutRef.current);
|
|
34
|
+
timeoutRef.current = null;
|
|
35
35
|
onDoubleClick?.(data);
|
|
36
36
|
}
|
|
37
37
|
},
|
|
@@ -10,6 +10,8 @@ export function useOnClickOutside<T extends Node = Node>(
|
|
|
10
10
|
const shadowElement = useRootLayoutContext();
|
|
11
11
|
|
|
12
12
|
useEffect(() => {
|
|
13
|
+
if (shadowElement === null) return;
|
|
14
|
+
|
|
13
15
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
16
|
const listener = (event: any) => {
|
|
15
17
|
// Do nothing if clicking ref's element or descendent elements
|
|
@@ -20,8 +22,6 @@ export function useOnClickOutside<T extends Node = Node>(
|
|
|
20
22
|
handler(event);
|
|
21
23
|
};
|
|
22
24
|
|
|
23
|
-
if (shadowElement === null) return;
|
|
24
|
-
|
|
25
25
|
shadowElement.addEventListener('mousedown', listener);
|
|
26
26
|
shadowElement.addEventListener('touchstart', listener);
|
|
27
27
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useCallback, useState } from 'react';
|
|
2
2
|
|
|
3
3
|
export function useOnOff(
|
|
4
|
-
|
|
4
|
+
isInitialOn = false,
|
|
5
5
|
): [isOn: boolean, setOn: () => void, setOff: () => void, toggle: () => void] {
|
|
6
|
-
const [isOn,
|
|
7
|
-
const setOn = useCallback(() =>
|
|
8
|
-
const setOff = useCallback(() =>
|
|
9
|
-
const toggle = useCallback(() =>
|
|
6
|
+
const [isOn, setIsOn] = useState(isInitialOn);
|
|
7
|
+
const setOn = useCallback(() => setIsOn(true), []);
|
|
8
|
+
const setOff = useCallback(() => setIsOn(false), []);
|
|
9
|
+
const toggle = useCallback(() => setIsOn((isOn) => !isOn), []);
|
|
10
10
|
return [isOn, setOn, setOff, toggle];
|
|
11
11
|
}
|
|
@@ -55,10 +55,12 @@ export function useSelect<T>(options: UseSelectOptions<T>) {
|
|
|
55
55
|
const popoverProps = {
|
|
56
56
|
onOpened: (node: HTMLElement) => {
|
|
57
57
|
const firstUl = node.querySelector('ul');
|
|
58
|
-
if (firstUl) {
|
|
59
|
-
|
|
60
|
-
firstUl.focus();
|
|
58
|
+
if (!firstUl) {
|
|
59
|
+
return;
|
|
61
60
|
}
|
|
61
|
+
|
|
62
|
+
firstUl.tabIndex = 0;
|
|
63
|
+
firstUl.focus();
|
|
62
64
|
},
|
|
63
65
|
};
|
|
64
66
|
const popoverTargetProps = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useOnOff } from './useOnOff.js';
|
|
2
2
|
|
|
3
3
|
export function useToggle(
|
|
4
|
-
|
|
4
|
+
isInitialOn = false,
|
|
5
5
|
): [isOn: boolean, toggle: () => void] {
|
|
6
|
-
const [isOn, , , toggle] = useOnOff(
|
|
6
|
+
const [isOn, , , toggle] = useOnOff(isInitialOn);
|
|
7
7
|
return [isOn, toggle];
|
|
8
8
|
}
|
|
@@ -7,7 +7,7 @@ import { P, match } from 'ts-pattern';
|
|
|
7
7
|
import { Button } from '../button/Button.js';
|
|
8
8
|
import { SelectedTotal } from '../selected-total/index.js';
|
|
9
9
|
import { Table, createTableColumnHelper } from '../table/index.js';
|
|
10
|
-
import {
|
|
10
|
+
import { forwardAllPropsExcept } from '../utils/forward_all_props_except.ts';
|
|
11
11
|
import * as ValueRenderers from '../value-renderers/index.js';
|
|
12
12
|
|
|
13
13
|
export interface InfoPanelData {
|
|
@@ -26,7 +26,7 @@ interface InfoPanelProps {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const AccordionButton = styled(Button, {
|
|
29
|
-
shouldForwardProp:
|
|
29
|
+
shouldForwardProp: forwardAllPropsExcept(['open']),
|
|
30
30
|
})<{ open?: boolean }>`
|
|
31
31
|
z-index: 1;
|
|
32
32
|
position: sticky;
|
|
@@ -132,9 +132,8 @@ export function InfoPanel(props: InfoPanelProps) {
|
|
|
132
132
|
includes.push({ parameter, value });
|
|
133
133
|
continue;
|
|
134
134
|
}
|
|
135
|
-
if (
|
|
135
|
+
if (isValueMatch(value, search)) {
|
|
136
136
|
valueContains.push({ parameter, value });
|
|
137
|
-
continue;
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
return [...exactMatch, ...startsWith, ...includes, ...valueContains];
|
|
@@ -198,7 +197,7 @@ interface InfoPanelContentProps {
|
|
|
198
197
|
|
|
199
198
|
const InfoPanelContent = memo((props: InfoPanelContentProps) => {
|
|
200
199
|
const { filteredData } = props;
|
|
201
|
-
const [
|
|
200
|
+
const [openDescriptions, setOpenDescriptions] = useState<string[]>(() =>
|
|
202
201
|
filteredData.map(({ description }) => description),
|
|
203
202
|
);
|
|
204
203
|
return (
|
|
@@ -213,15 +212,15 @@ const InfoPanelContent = memo((props: InfoPanelContentProps) => {
|
|
|
213
212
|
}}
|
|
214
213
|
>
|
|
215
214
|
{filteredData.map(({ description, data }) => {
|
|
216
|
-
const
|
|
215
|
+
const isOpen = openDescriptions.includes(description);
|
|
217
216
|
return (
|
|
218
217
|
<div key={description}>
|
|
219
218
|
<AccordionButton
|
|
220
|
-
open={
|
|
219
|
+
open={isOpen}
|
|
221
220
|
variant="minimal"
|
|
222
221
|
onClick={() =>
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
setOpenDescriptions((pred) =>
|
|
223
|
+
isOpen
|
|
225
224
|
? pred.filter((o) => o !== description)
|
|
226
225
|
: [...pred, description],
|
|
227
226
|
)
|
|
@@ -231,7 +230,7 @@ const InfoPanelContent = memo((props: InfoPanelContentProps) => {
|
|
|
231
230
|
>
|
|
232
231
|
{description}
|
|
233
232
|
</AccordionButton>
|
|
234
|
-
<InfoPanelCollapse isOpen={
|
|
233
|
+
<InfoPanelCollapse isOpen={isOpen}>
|
|
235
234
|
<Table
|
|
236
235
|
data={data}
|
|
237
236
|
columns={columns}
|
|
@@ -272,10 +271,9 @@ function valueCell(value: number | string | object | boolean) {
|
|
|
272
271
|
* @param search - Value to search for.
|
|
273
272
|
* @returns - If search exist in value
|
|
274
273
|
*/
|
|
275
|
-
function
|
|
274
|
+
function isValueMatch(
|
|
276
275
|
value: number | string | object | boolean,
|
|
277
276
|
search: string,
|
|
278
|
-
lowerCase = true,
|
|
279
277
|
): boolean {
|
|
280
278
|
let stringValue = match(value)
|
|
281
279
|
.with(P.boolean, String)
|
|
@@ -288,9 +286,7 @@ function valueSearch(
|
|
|
288
286
|
if (stringValue === null) {
|
|
289
287
|
return true;
|
|
290
288
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
search = search.toLowerCase();
|
|
294
|
-
}
|
|
289
|
+
stringValue = stringValue.toLowerCase();
|
|
290
|
+
search = search.toLowerCase();
|
|
295
291
|
return stringValue.includes(search);
|
|
296
292
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RadioGroupProps, RadioProps } from '@blueprintjs/core';
|
|
2
2
|
import { RadioGroup } from '@blueprintjs/core';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
|
+
import type { Mandatory } from '@zakodium/utils';
|
|
4
5
|
import type { ReactElement } from 'react';
|
|
5
6
|
import { Children, cloneElement } from 'react';
|
|
6
7
|
|
|
@@ -29,10 +30,12 @@ const RadioButtonContainer = styled.div<{ size?: RadioProps['size'] }>`
|
|
|
29
30
|
}
|
|
30
31
|
`;
|
|
31
32
|
|
|
33
|
+
const defaultOptions: Mandatory<RadioButtonGroupProps['options']> = [];
|
|
34
|
+
|
|
32
35
|
export function RadioButtonGroup(props: RadioButtonGroupProps) {
|
|
33
36
|
const {
|
|
34
37
|
disabled: groupDisabled = false,
|
|
35
|
-
options =
|
|
38
|
+
options = defaultOptions,
|
|
36
39
|
name,
|
|
37
40
|
size,
|
|
38
41
|
selectedValue,
|
|
@@ -52,7 +55,7 @@ export function RadioButtonGroup(props: RadioButtonGroupProps) {
|
|
|
52
55
|
{options?.map(({ value, label, disabled }, index) => {
|
|
53
56
|
return (
|
|
54
57
|
<RadioButton
|
|
55
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
58
|
+
// eslint-disable-next-line @eslint-react/no-array-index-key
|
|
56
59
|
key={index}
|
|
57
60
|
value={value}
|
|
58
61
|
label={label}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type { FifoLogger } from 'fifo-logger';
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { FifoLoggerContext } from './loggerContext.js';
|
|
5
5
|
|
|
6
6
|
export function FifoLoggerProvider(props: {
|
|
7
7
|
logger: FifoLogger;
|
|
8
8
|
children: ReactNode;
|
|
9
9
|
}) {
|
|
10
10
|
return (
|
|
11
|
-
<
|
|
12
|
-
{props.children}
|
|
13
|
-
</fifoLoggerContext.Provider>
|
|
11
|
+
<FifoLoggerContext value={props.logger}>{props.children}</FifoLoggerContext>
|
|
14
12
|
);
|
|
15
13
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { use, useEffect, useState } from 'react';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { FifoLoggerContext } from './loggerContext.js';
|
|
4
4
|
|
|
5
5
|
export function useFifoLogger() {
|
|
6
|
-
const fifoLogger =
|
|
6
|
+
const fifoLogger = use(FifoLoggerContext);
|
|
7
7
|
if (!fifoLogger) {
|
|
8
8
|
throw new Error('useFifoLogger must be used within a FifoLoggerProvider');
|
|
9
9
|
}
|
|
@@ -14,9 +14,11 @@ export function useFifoLogs() {
|
|
|
14
14
|
const logger = useFifoLogger();
|
|
15
15
|
const [logs, setLogs] = useState(logger.getLogs());
|
|
16
16
|
useEffect(() => {
|
|
17
|
-
|
|
17
|
+
function onChange() {
|
|
18
18
|
setLogs(logger.getLogs());
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
|
+
logger.addEventListener('change', onChange);
|
|
21
|
+
return () => logger.removeEventListener('change', onChange);
|
|
20
22
|
}, [logger]);
|
|
21
23
|
return logs;
|
|
22
24
|
}
|