@tcn/ui 0.17.0 → 0.18.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/dist/actions/index.d.ts +0 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -8
- package/dist/actions/index.js.map +1 -1
- package/dist/draggable.css +1 -1
- package/dist/draggable.module-DFYR5n3n.js +5 -0
- package/dist/draggable.module-DFYR5n3n.js.map +1 -0
- package/dist/field_set.css +1 -1
- package/dist/field_set.module-BpJTFCi4.js +5 -0
- package/dist/field_set.module-BpJTFCi4.js.map +1 -0
- package/dist/form/field/field.js +11 -10
- package/dist/form/field/field.js.map +1 -1
- package/dist/form/field_set/field_set.d.ts +6 -10
- package/dist/form/field_set/field_set.d.ts.map +1 -1
- package/dist/form/field_set/field_set.js +33 -61
- package/dist/form/field_set/field_set.js.map +1 -1
- package/dist/form/field_set/legend.d.ts +20 -0
- package/dist/form/field_set/legend.d.ts.map +1 -0
- package/dist/form/field_set/legend.js +28 -0
- package/dist/form/field_set/legend.js.map +1 -0
- package/dist/form/index.d.ts +2 -1
- package/dist/form/index.d.ts.map +1 -1
- package/dist/form/index.js +24 -22
- package/dist/form/index.js.map +1 -1
- package/dist/inputs/color_input/color_input.js +2 -3
- package/dist/inputs/color_input/color_input.js.map +1 -1
- package/dist/inputs/color_input/color_picker.js +11 -10
- package/dist/inputs/color_input/color_picker.js.map +1 -1
- package/dist/inputs/combo_box/combo_box.js +11 -10
- package/dist/inputs/combo_box/combo_box.js.map +1 -1
- package/dist/inputs/date_picker/date_picker.js +11 -10
- package/dist/inputs/date_picker/date_picker.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_header.d.ts.map +1 -1
- package/dist/inputs/date_picker/date_picker_header.js +15 -14
- package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_input.js +9 -9
- package/dist/inputs/date_picker/date_picker_time_selector.js +2 -3
- package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_year_input.js +2 -3
- package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_year_selector.js +22 -22
- package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
- package/dist/inputs/mask_input/key_capture_input.js +21 -20
- package/dist/inputs/mask_input/key_capture_input.js.map +1 -1
- package/dist/inputs/mask_input/mask_input.js +18 -17
- package/dist/inputs/mask_input/mask_input.js.map +1 -1
- package/dist/inputs/multiselect/multiselect.js +11 -10
- package/dist/inputs/multiselect/multiselect.js.map +1 -1
- package/dist/inputs/multiselect/multiselect_inline_values.d.ts.map +1 -1
- package/dist/inputs/multiselect/multiselect_inline_values.js +15 -15
- package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
- package/dist/inputs/multiselect/multiselect_values.js +16 -17
- package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_context.js +13 -12
- package/dist/inputs/phone_number_input/phone_number_context.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js +2 -3
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js.map +1 -1
- package/dist/inputs/phone_number_input/sip_input.js +8 -9
- package/dist/inputs/phone_number_input/sip_input.js.map +1 -1
- package/dist/inputs/select/select.js +9 -9
- package/dist/inputs/slider/slider.js +21 -20
- package/dist/inputs/slider/slider.js.map +1 -1
- package/dist/inputs/suggestions/suggestion_list.js +9 -9
- package/dist/inputs/switch/switch.js +16 -15
- package/dist/inputs/switch/switch.js.map +1 -1
- package/dist/inputs/unit_input/unit_input.js +11 -10
- package/dist/inputs/unit_input/unit_input.js.map +1 -1
- package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js +11 -10
- package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js.map +1 -1
- package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js +11 -10
- package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js.map +1 -1
- package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js +11 -10
- package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js.map +1 -1
- package/dist/multiselect_values.css +1 -1
- package/dist/navigation/tabs/state/link/tab_link.js +11 -10
- package/dist/navigation/tabs/state/link/tab_link.js.map +1 -1
- package/dist/overlay/frame/frame.d.ts.map +1 -1
- package/dist/overlay/frame/frame.js +117 -76
- package/dist/overlay/frame/frame.js.map +1 -1
- package/dist/overlay/menu/menu.js +21 -20
- package/dist/overlay/menu/menu.js.map +1 -1
- package/dist/overlay/popper/base/dismissal_decorator.js +3 -3
- package/dist/overlay/popper/base/dismissal_decorator.js.map +1 -1
- package/dist/overlay/popper/context_popper.js +11 -10
- package/dist/overlay/popper/context_popper.js.map +1 -1
- package/dist/overlay/popper/element_popper.js +11 -10
- package/dist/overlay/popper/element_popper.js.map +1 -1
- package/dist/overlay/popper/legacy/popper.js +28 -27
- package/dist/overlay/popper/legacy/popper.js.map +1 -1
- package/dist/overlay/popper/preview_popper.js +11 -10
- package/dist/overlay/popper/preview_popper.js.map +1 -1
- package/dist/overlay/tethered/tethered.js +11 -10
- package/dist/overlay/tethered/tethered.js.map +1 -1
- package/dist/resizable.css +1 -1
- package/dist/resizable.module-ur5FBfxo.js +5 -0
- package/dist/resizable.module-ur5FBfxo.js.map +1 -0
- package/dist/resize_handle.css +1 -1
- package/dist/stacks/box/box.d.ts +14 -0
- package/dist/stacks/box/box.d.ts.map +1 -1
- package/dist/stacks/box/box.js +98 -99
- package/dist/stacks/box/box.js.map +1 -1
- package/dist/stacks/box/end_resize_handle.js +5 -5
- package/dist/stacks/box/end_resize_handle.js.map +1 -1
- package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
- package/dist/stacks/box/resize_handlers.js +12 -12
- package/dist/stacks/box/resize_handlers.js.map +1 -1
- package/dist/stacks/box/start_resize_handle.js +7 -7
- package/dist/stacks/box/start_resize_handle.js.map +1 -1
- package/dist/stacks/box/types.d.ts +3 -2
- package/dist/stacks/box/types.d.ts.map +1 -1
- package/dist/stacks/h_collapsible_box.js +14 -13
- package/dist/stacks/h_collapsible_box.js.map +1 -1
- package/dist/stacks/v_collapsible_box.js +14 -13
- package/dist/stacks/v_collapsible_box.js.map +1 -1
- package/dist/surfaces/alert/alert.js +7 -8
- package/dist/surfaces/alert/alert.js.map +1 -1
- package/dist/themes/stories/button_showcase.d.ts.map +1 -1
- package/dist/themes/stories/controls_fieldset.d.ts.map +1 -1
- package/dist/themes/stories/menu_showcase.d.ts.map +1 -1
- package/dist/themes/themes/ergo/ergo_theme.css +1 -1
- package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -1
- package/dist/themes/themes/ergo/ergo_theme.js +336 -294
- package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
- package/dist/themes/themes/ergo/parts/actions.css +1 -0
- package/dist/themes/themes/ergo/parts/base.css +1 -0
- package/dist/themes/themes/ergo/parts/form.css +1 -0
- package/dist/themes/themes/ergo/parts/inputs.css +1 -0
- package/dist/themes/themes/ergo/parts/navigation.css +1 -0
- package/dist/themes/themes/windows_98/windows_98.css +1 -1
- package/dist/themes/themes/windows_98/windows_98_theme.js +32 -43
- package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -1
- package/dist/utils/decorators/clone_with_decorator.d.ts +21 -0
- package/dist/utils/decorators/clone_with_decorator.d.ts.map +1 -0
- package/dist/utils/decorators/clone_with_decorator.js +16 -0
- package/dist/utils/decorators/clone_with_decorator.js.map +1 -0
- package/dist/utils/decorators/draggable/context.d.ts.map +1 -0
- package/dist/utils/decorators/draggable/context.js.map +1 -0
- package/dist/utils/{dnd/handle.d.ts → decorators/draggable/drag_handle.d.ts} +1 -1
- package/dist/utils/decorators/draggable/drag_handle.d.ts.map +1 -0
- package/dist/utils/{dnd/handle.js → decorators/draggable/drag_handle.js} +2 -2
- package/dist/utils/decorators/draggable/drag_handle.js.map +1 -0
- package/dist/utils/decorators/draggable/draggable.d.ts.map +1 -0
- package/dist/utils/{dnd → decorators}/draggable/draggable.js +3 -3
- package/dist/utils/decorators/draggable/draggable.js.map +1 -0
- package/dist/utils/decorators/draggable/index.d.ts +11 -0
- package/dist/utils/decorators/draggable/index.d.ts.map +1 -0
- package/dist/utils/decorators/draggable/index.js +14 -0
- package/dist/utils/{dnd → decorators/draggable}/types.d.ts +1 -1
- package/dist/utils/decorators/draggable/types.d.ts.map +1 -0
- package/dist/utils/{dnd/hooks → decorators/draggable}/use_drag_container.d.ts +2 -2
- package/dist/utils/decorators/draggable/use_drag_container.d.ts.map +1 -0
- package/dist/utils/decorators/draggable/use_drag_container.js.map +1 -0
- package/dist/utils/decorators/draggable/use_draggable.d.ts.map +1 -0
- package/dist/utils/decorators/draggable/use_draggable.js.map +1 -0
- package/dist/utils/decorators/index.d.ts +3 -0
- package/dist/utils/decorators/index.d.ts.map +1 -0
- package/dist/utils/decorators/index.js +27 -0
- package/dist/utils/decorators/index.js.map +1 -0
- package/dist/utils/decorators/resizable/context.d.ts.map +1 -0
- package/dist/utils/{resize → decorators/resizable}/context.js +1 -1
- package/dist/utils/decorators/resizable/context.js.map +1 -0
- package/dist/utils/decorators/resizable/handle_config.d.ts.map +1 -0
- package/dist/utils/decorators/resizable/handle_config.js +62 -0
- package/dist/utils/decorators/resizable/handle_config.js.map +1 -0
- package/dist/utils/decorators/resizable/index.d.ts.map +1 -0
- package/dist/utils/decorators/resizable/index.js.map +1 -0
- package/dist/utils/decorators/resizable/resizable.d.ts.map +1 -0
- package/dist/utils/{resize → decorators/resizable}/resizable.js +2 -2
- package/dist/utils/decorators/resizable/resizable.js.map +1 -0
- package/dist/utils/decorators/resizable/resize_handle.d.ts.map +1 -0
- package/dist/utils/{resize → decorators/resizable}/resize_handle.js +2 -2
- package/dist/utils/decorators/resizable/resize_handle.js.map +1 -0
- package/dist/utils/{resize → decorators/resizable}/resize_strategy.d.ts +1 -1
- package/dist/utils/decorators/resizable/resize_strategy.d.ts.map +1 -0
- package/dist/utils/decorators/resizable/resize_strategy.js.map +1 -0
- package/dist/utils/{resize → decorators/resizable}/types.d.ts +2 -2
- package/dist/utils/decorators/resizable/types.d.ts.map +1 -0
- package/dist/utils/hooks/labelled_by_context.d.ts +21 -0
- package/dist/utils/hooks/labelled_by_context.d.ts.map +1 -0
- package/dist/utils/hooks/labelled_by_context.js +12 -0
- package/dist/utils/hooks/labelled_by_context.js.map +1 -0
- package/dist/utils/index.d.ts +8 -8
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +44 -40
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/listeners/click_away_listener.d.ts.map +1 -0
- package/dist/utils/{click_away_listener.js → listeners/click_away_listener.js} +1 -1
- package/dist/utils/listeners/click_away_listener.js.map +1 -0
- package/dist/utils/listeners/focus_redirect.d.ts.map +1 -0
- package/dist/utils/listeners/focus_redirect.js.map +1 -0
- package/dist/utils/listeners/index.d.ts +4 -0
- package/dist/utils/listeners/index.d.ts.map +1 -0
- package/dist/utils/listeners/index.js +10 -0
- package/dist/utils/listeners/index.js.map +1 -0
- package/dist/utils/listeners/mouse_leave_region.d.ts.map +1 -0
- package/dist/utils/listeners/mouse_leave_region.js.map +1 -0
- package/dist/utils/listeners/scroll_away_listener.d.ts.map +1 -0
- package/dist/utils/{scroll_away_listener.js → listeners/scroll_away_listener.js} +1 -1
- package/dist/utils/listeners/scroll_away_listener.js.map +1 -0
- package/dist/utils/system/index.d.ts +2 -0
- package/dist/utils/system/index.d.ts.map +1 -0
- package/dist/utils/system/index.js +2 -0
- package/dist/utils/system/index.js.map +1 -0
- package/dist/utils/system/variations.d.ts.map +1 -0
- package/dist/utils/system/variations.js +2 -0
- package/dist/utils/system/variations.js.map +1 -0
- package/dist/utils/types/sides.d.ts +3 -0
- package/dist/utils/types/sides.d.ts.map +1 -0
- package/package.json +2 -8
- package/src/actions/button/__stories__/button_group.stories.tsx +23 -24
- package/src/actions/index.ts +0 -1
- package/src/form/field/field.stories.tsx +2 -2
- package/src/form/field/h_field/h_field.stories.tsx +1 -1
- package/src/form/field/v_field/v_field.stories.tsx +1 -1
- package/src/form/field_set/field_set.module.css +0 -14
- package/src/form/field_set/field_set.stories.tsx +101 -1
- package/src/form/field_set/field_set.tsx +43 -57
- package/src/form/field_set/legend.tsx +44 -0
- package/src/form/index.ts +6 -1
- package/src/inputs/date_picker/date_picker_header.tsx +7 -5
- package/src/inputs/date_picker/date_picker_year_selector.tsx +5 -5
- package/src/inputs/multiselect/multiselect_inline_values.tsx +4 -3
- package/src/inputs/multiselect/multiselect_values.module.css +1 -0
- package/src/inputs/multiselect/multiselect_values.tsx +4 -4
- package/src/overlay/frame/frame.stories.tsx +2 -1
- package/src/overlay/frame/frame.tsx +68 -20
- package/src/overlay/popper/base/dismissal_decorator.tsx +3 -3
- package/src/overlay/slide/slide.stories.tsx +1 -1
- package/src/stacks/box/box.tsx +29 -4
- package/src/stacks/box/end_resize_handle.tsx +1 -1
- package/src/stacks/box/resize_handlers.ts +1 -1
- package/src/stacks/box/start_resize_handle.tsx +1 -1
- package/src/stacks/box/types.ts +3 -2
- package/src/stacks/collapsible_box.stories.tsx +5 -5
- package/src/stacks/demo.stories.tsx +7 -7
- package/src/surfaces/page/page.stories.tsx +4 -4
- package/src/surfaces/window/window.stories.tsx +1 -1
- package/src/themes/stories/button_showcase.tsx +3 -1
- package/src/themes/stories/controls_fieldset.tsx +3 -1
- package/src/themes/stories/menu_showcase.tsx +3 -1
- package/src/themes/themes/ergo/INTERACTIVE.md +89 -0
- package/src/themes/themes/ergo/ROADMAP.md +116 -0
- package/src/themes/themes/ergo/ergo_theme.css +22 -717
- package/src/themes/themes/ergo/ergo_theme.ts +15 -1
- package/src/themes/themes/ergo/parts/actions.css +287 -0
- package/src/themes/themes/ergo/parts/base.css +62 -0
- package/src/themes/themes/ergo/parts/form.css +23 -0
- package/src/themes/themes/ergo/parts/inputs.css +252 -0
- package/src/themes/themes/ergo/parts/navigation.css +104 -0
- package/src/themes/themes/windows_98/windows_98.css +32 -43
- package/src/tokens/chip/chip.stories.tsx +5 -5
- package/src/utils/decorators/DECORATOR_PATTERN.md +86 -0
- package/src/utils/decorators/clone_with_decorator.ts +47 -0
- package/src/utils/{dnd → decorators/draggable}/__stories__/draggable.stories.tsx +7 -7
- package/src/utils/{dnd → decorators/draggable}/__stories__/use_draggable.stories.tsx +2 -2
- package/src/utils/{dnd/handle.tsx → decorators/draggable/drag_handle.tsx} +1 -1
- package/src/utils/{dnd → decorators}/draggable/draggable.tsx +2 -2
- package/src/utils/decorators/draggable/index.ts +15 -0
- package/src/utils/{dnd → decorators/draggable}/types.ts +1 -1
- package/src/utils/{dnd/hooks → decorators/draggable}/use_drag_container.ts +2 -2
- package/src/utils/decorators/index.ts +2 -0
- package/src/utils/{resize → decorators/resizable}/__stories__/resizable.stories.tsx +23 -23
- package/src/utils/{resize → decorators/resizable}/__tests__/handle_config.test.ts +19 -97
- package/src/utils/{resize → decorators/resizable}/__tests__/resize_strategy.test.ts +20 -20
- package/src/utils/{resize → decorators/resizable}/context.ts +1 -1
- package/src/utils/{resize → decorators/resizable}/handle_config.ts +7 -31
- package/src/utils/{resize → decorators/resizable}/resizable.tsx +1 -1
- package/src/utils/{resize → decorators/resizable}/resize_handle.module.css +1 -41
- package/src/utils/{resize → decorators/resizable}/resize_handle.tsx +1 -1
- package/src/utils/{resize → decorators/resizable}/resize_strategy.ts +1 -1
- package/src/utils/{resize → decorators/resizable}/types.ts +1 -7
- package/src/utils/hooks/labelled_by_context.ts +27 -0
- package/src/utils/index.ts +8 -8
- package/src/utils/{click_away_listener.tsx → listeners/click_away_listener.tsx} +1 -1
- package/src/utils/listeners/index.ts +3 -0
- package/src/utils/{scroll_away_listener.tsx → listeners/scroll_away_listener.tsx} +1 -1
- package/src/utils/system/index.ts +1 -0
- package/src/utils/types/sides.ts +2 -0
- package/dist/actions/button/slim_button/slim_button.d.ts +0 -9
- package/dist/actions/button/slim_button/slim_button.d.ts.map +0 -1
- package/dist/actions/button/slim_button/slim_button.js +0 -18
- package/dist/actions/button/slim_button/slim_button.js.map +0 -1
- package/dist/draggable.module-BgelQsuJ.js +0 -5
- package/dist/draggable.module-BgelQsuJ.js.map +0 -1
- package/dist/frame.css +0 -1
- package/dist/left_resize_handle.css +0 -1
- package/dist/resizable.module-I6iyBAvM.js +0 -5
- package/dist/resizable.module-I6iyBAvM.js.map +0 -1
- package/dist/right_resize_handle.css +0 -1
- package/dist/slim_button.css +0 -1
- package/dist/stacks/box/left_resize_handle.d.ts +0 -4
- package/dist/stacks/box/left_resize_handle.d.ts.map +0 -1
- package/dist/stacks/box/left_resize_handle.js +0 -36
- package/dist/stacks/box/left_resize_handle.js.map +0 -1
- package/dist/stacks/box/right_resize_handle.d.ts +0 -4
- package/dist/stacks/box/right_resize_handle.d.ts.map +0 -1
- package/dist/stacks/box/right_resize_handle.js +0 -36
- package/dist/stacks/box/right_resize_handle.js.map +0 -1
- package/dist/utils/click_away_listener.d.ts.map +0 -1
- package/dist/utils/click_away_listener.js.map +0 -1
- package/dist/utils/dnd/context.d.ts.map +0 -1
- package/dist/utils/dnd/context.js.map +0 -1
- package/dist/utils/dnd/draggable/draggable.d.ts.map +0 -1
- package/dist/utils/dnd/draggable/draggable.js.map +0 -1
- package/dist/utils/dnd/handle.d.ts.map +0 -1
- package/dist/utils/dnd/handle.js.map +0 -1
- package/dist/utils/dnd/hooks/use_drag_container.d.ts.map +0 -1
- package/dist/utils/dnd/hooks/use_drag_container.js.map +0 -1
- package/dist/utils/dnd/hooks/use_draggable.d.ts.map +0 -1
- package/dist/utils/dnd/hooks/use_draggable.js.map +0 -1
- package/dist/utils/dnd/types.d.ts.map +0 -1
- package/dist/utils/focus_redirect.d.ts.map +0 -1
- package/dist/utils/focus_redirect.js.map +0 -1
- package/dist/utils/mouse_leave_region.d.ts.map +0 -1
- package/dist/utils/mouse_leave_region.js.map +0 -1
- package/dist/utils/resize/context.d.ts.map +0 -1
- package/dist/utils/resize/context.js.map +0 -1
- package/dist/utils/resize/handle_config.d.ts.map +0 -1
- package/dist/utils/resize/handle_config.js +0 -85
- package/dist/utils/resize/handle_config.js.map +0 -1
- package/dist/utils/resize/index.d.ts.map +0 -1
- package/dist/utils/resize/resizable.d.ts.map +0 -1
- package/dist/utils/resize/resizable.js.map +0 -1
- package/dist/utils/resize/resize_handle.d.ts.map +0 -1
- package/dist/utils/resize/resize_handle.js.map +0 -1
- package/dist/utils/resize/resize_strategy.d.ts.map +0 -1
- package/dist/utils/resize/resize_strategy.js.map +0 -1
- package/dist/utils/resize/types.d.ts.map +0 -1
- package/dist/utils/scroll_away_listener.d.ts.map +0 -1
- package/dist/utils/scroll_away_listener.js.map +0 -1
- package/dist/utils/types/variations.d.ts.map +0 -1
- package/src/actions/button/__stories__/slim_button.stories.tsx +0 -274
- package/src/actions/button/slim_button/slim_button.module.css +0 -9
- package/src/actions/button/slim_button/slim_button.tsx +0 -26
- package/src/overlay/frame/frame.module.css +0 -5
- package/src/stacks/box/left_resize_handle.module.css +0 -12
- package/src/stacks/box/left_resize_handle.tsx +0 -39
- package/src/stacks/box/right_resize_handle.module.css +0 -12
- package/src/stacks/box/right_resize_handle.tsx +0 -38
- /package/dist/utils/{dnd → decorators/draggable}/context.d.ts +0 -0
- /package/dist/utils/{dnd → decorators/draggable}/context.js +0 -0
- /package/dist/utils/{dnd → decorators}/draggable/draggable.d.ts +0 -0
- /package/dist/utils/{resize → decorators/draggable}/index.js.map +0 -0
- /package/dist/utils/{dnd → decorators/draggable}/types.js +0 -0
- /package/dist/utils/{dnd → decorators/draggable}/types.js.map +0 -0
- /package/dist/utils/{dnd/hooks → decorators/draggable}/use_drag_container.js +0 -0
- /package/dist/utils/{dnd/hooks → decorators/draggable}/use_draggable.d.ts +0 -0
- /package/dist/utils/{dnd/hooks → decorators/draggable}/use_draggable.js +0 -0
- /package/dist/utils/{resize → decorators/resizable}/context.d.ts +0 -0
- /package/dist/utils/{resize → decorators/resizable}/handle_config.d.ts +0 -0
- /package/dist/utils/{resize → decorators/resizable}/index.d.ts +0 -0
- /package/dist/utils/{resize → decorators/resizable}/index.js +0 -0
- /package/dist/utils/{resize → decorators/resizable}/resizable.d.ts +0 -0
- /package/dist/utils/{resize → decorators/resizable}/resize_handle.d.ts +0 -0
- /package/dist/utils/{resize → decorators/resizable}/resize_strategy.js +0 -0
- /package/dist/utils/{resize → decorators/resizable}/types.js +0 -0
- /package/dist/utils/{resize → decorators/resizable}/types.js.map +0 -0
- /package/dist/utils/{click_away_listener.d.ts → listeners/click_away_listener.d.ts} +0 -0
- /package/dist/utils/{focus_redirect.d.ts → listeners/focus_redirect.d.ts} +0 -0
- /package/dist/utils/{focus_redirect.js → listeners/focus_redirect.js} +0 -0
- /package/dist/utils/{mouse_leave_region.d.ts → listeners/mouse_leave_region.d.ts} +0 -0
- /package/dist/utils/{mouse_leave_region.js → listeners/mouse_leave_region.js} +0 -0
- /package/dist/utils/{scroll_away_listener.d.ts → listeners/scroll_away_listener.d.ts} +0 -0
- /package/dist/utils/{types → system}/variations.d.ts +0 -0
- /package/src/utils/{dnd → decorators/draggable}/__stories__/draggable_stories.module.css +0 -0
- /package/src/utils/{dnd → decorators/draggable}/context.ts +0 -0
- /package/src/utils/{dnd → decorators}/draggable/draggable.module.css +0 -0
- /package/src/utils/{dnd/hooks → decorators/draggable}/use_draggable.ts +0 -0
- /package/src/utils/{resize → decorators/resizable}/__stories__/resizable_stories.module.css +0 -0
- /package/src/utils/{resize → decorators/resizable}/index.ts +0 -0
- /package/src/utils/{resize → decorators/resizable}/resizable.module.css +0 -0
- /package/src/utils/{click_away_listener.stories.tsx → listeners/click_away_listener.stories.tsx} +0 -0
- /package/src/utils/{focus_redirect.tsx → listeners/focus_redirect.tsx} +0 -0
- /package/src/utils/{mouse_leave_region.tsx → listeners/mouse_leave_region.tsx} +0 -0
- /package/src/utils/{scroll_away_listener.stories.tsx → listeners/scroll_away_listener.stories.tsx} +0 -0
- /package/src/utils/{types → system}/variations.ts +0 -0
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { HorizontalResizeHandleProps } from './types.js';
|
|
2
|
-
export type LeftResizeHandleProps = HorizontalResizeHandleProps;
|
|
3
|
-
export declare function LeftResizeHandle({ targetRef, handleProps, onWidthResize, onWidthResizeEnd, }: LeftResizeHandleProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
//# sourceMappingURL=left_resize_handle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"left_resize_handle.d.ts","sourceRoot":"","sources":["../../../src/stacks/box/left_resize_handle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,EAAE,qBAAqB,2CA0BvB"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { clsx as o } from "clsx";
|
|
3
|
-
import { createHorizontalResizeHandler as c } from "./resize_handlers.js";
|
|
4
|
-
import '../../left_resize_handle.css';const z = "_left-resize-handle_215501a", a = { "left-resize-handle": z };
|
|
5
|
-
function u({
|
|
6
|
-
targetRef: t,
|
|
7
|
-
handleProps: e,
|
|
8
|
-
onWidthResize: s,
|
|
9
|
-
onWidthResizeEnd: l
|
|
10
|
-
}) {
|
|
11
|
-
const f = c(
|
|
12
|
-
t,
|
|
13
|
-
s,
|
|
14
|
-
l,
|
|
15
|
-
"left",
|
|
16
|
-
!0,
|
|
17
|
-
!0
|
|
18
|
-
), i = e?.offset ? e.offset : -8, n = {
|
|
19
|
-
...e?.style,
|
|
20
|
-
"--resize-offset": `${i}px`,
|
|
21
|
-
width: e?.size || "16px"
|
|
22
|
-
};
|
|
23
|
-
return /* @__PURE__ */ r(
|
|
24
|
-
"div",
|
|
25
|
-
{
|
|
26
|
-
className: o(a["left-resize-handle"], "tcn-left-resize-handle"),
|
|
27
|
-
onMouseDown: f,
|
|
28
|
-
style: n,
|
|
29
|
-
children: e?.children
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
u as LeftResizeHandle
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=left_resize_handle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"left_resize_handle.js","sources":["../../../src/stacks/box/left_resize_handle.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport styles from './left_resize_handle.module.css';\nimport { createHorizontalResizeHandler } from './resize_handlers.js';\nimport type { HorizontalResizeHandleProps } from './types.js';\n\nexport type LeftResizeHandleProps = HorizontalResizeHandleProps;\n\nexport function LeftResizeHandle({\n targetRef,\n handleProps,\n onWidthResize,\n onWidthResizeEnd,\n}: LeftResizeHandleProps) {\n const resizeHandler = createHorizontalResizeHandler(\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n 'left',\n true,\n true\n );\n const offset = handleProps?.offset ? handleProps.offset : -8;\n\n const leftResizeHandleStyle: any = {\n ...handleProps?.style,\n '--resize-offset': `${offset}px`,\n width: handleProps?.size || '16px',\n };\n\n return (\n <div\n className={clsx(styles['left-resize-handle'], 'tcn-left-resize-handle')}\n onMouseDown={resizeHandler}\n style={leftResizeHandleStyle}\n >\n {handleProps?.children}\n </div>\n );\n}\n"],"names":["LeftResizeHandle","targetRef","handleProps","onWidthResize","onWidthResizeEnd","resizeHandler","createHorizontalResizeHandler","offset","leftResizeHandleStyle","jsx","clsx","styles"],"mappings":";;;;AAOO,SAASA,EAAiB;AAAA,EAC/B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,GAA0B;AACxB,QAAMC,IAAgBC;AAAA,IACpBL;AAAA,IACAE;AAAA,IACAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAEIG,IAASL,GAAa,SAASA,EAAY,SAAS,IAEpDM,IAA6B;AAAA,IACjC,GAAGN,GAAa;AAAA,IAChB,mBAAmB,GAAGK,CAAM;AAAA,IAC5B,OAAOL,GAAa,QAAQ;AAAA,EAAA;AAG9B,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,oBAAoB,GAAG,wBAAwB;AAAA,MACtE,aAAaN;AAAA,MACb,OAAOG;AAAA,MAEN,UAAAN,GAAa;AAAA,IAAA;AAAA,EAAA;AAGpB;"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { HorizontalResizeHandleProps } from './types.js';
|
|
2
|
-
export type RightResizeHandleProps = HorizontalResizeHandleProps;
|
|
3
|
-
export declare function RightResizeHandle({ targetRef, handleProps, onWidthResize, onWidthResizeEnd, }: RightResizeHandleProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
//# sourceMappingURL=right_resize_handle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"right_resize_handle.d.ts","sourceRoot":"","sources":["../../../src/stacks/box/right_resize_handle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AACjE,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,EAAE,sBAAsB,2CA0BxB"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import { clsx as f } from "clsx";
|
|
3
|
-
import { createHorizontalResizeHandler as c } from "./resize_handlers.js";
|
|
4
|
-
import '../../right_resize_handle.css';const z = "_right-resize-handle_7f232b9", h = { "right-resize-handle": z };
|
|
5
|
-
function m({
|
|
6
|
-
targetRef: t,
|
|
7
|
-
handleProps: e,
|
|
8
|
-
onWidthResize: i,
|
|
9
|
-
onWidthResizeEnd: s
|
|
10
|
-
}) {
|
|
11
|
-
const r = c(
|
|
12
|
-
t,
|
|
13
|
-
i,
|
|
14
|
-
s,
|
|
15
|
-
"right",
|
|
16
|
-
!1,
|
|
17
|
-
!0
|
|
18
|
-
), n = e?.offset ? e.offset : -8, o = {
|
|
19
|
-
...e?.style,
|
|
20
|
-
"--resize-offset": `${n}px`,
|
|
21
|
-
width: e?.size || "16px"
|
|
22
|
-
};
|
|
23
|
-
return /* @__PURE__ */ l(
|
|
24
|
-
"div",
|
|
25
|
-
{
|
|
26
|
-
className: f(h["right-resize-handle"], "tcn-right-resize-handle"),
|
|
27
|
-
onMouseDown: r,
|
|
28
|
-
style: o,
|
|
29
|
-
children: e?.children
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
m as RightResizeHandle
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=right_resize_handle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"right_resize_handle.js","sources":["../../../src/stacks/box/right_resize_handle.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { createHorizontalResizeHandler } from './resize_handlers.js';\nimport styles from './right_resize_handle.module.css';\nimport type { HorizontalResizeHandleProps } from './types.js';\n\nexport type RightResizeHandleProps = HorizontalResizeHandleProps;\nexport function RightResizeHandle({\n targetRef,\n handleProps,\n onWidthResize,\n onWidthResizeEnd,\n}: RightResizeHandleProps) {\n const resizeHandler = createHorizontalResizeHandler(\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n 'right',\n false,\n true\n );\n const offset = handleProps?.offset ? handleProps.offset : -8;\n\n const rightResizeHandleStyle: any = {\n ...handleProps?.style,\n '--resize-offset': `${offset}px`,\n width: handleProps?.size || '16px',\n };\n\n return (\n <div\n className={clsx(styles['right-resize-handle'], 'tcn-right-resize-handle')}\n onMouseDown={resizeHandler}\n style={rightResizeHandleStyle}\n >\n {handleProps?.children}\n </div>\n );\n}\n"],"names":["RightResizeHandle","targetRef","handleProps","onWidthResize","onWidthResizeEnd","resizeHandler","createHorizontalResizeHandler","offset","rightResizeHandleStyle","jsx","clsx","styles"],"mappings":";;;;AAMO,SAASA,EAAkB;AAAA,EAChC,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,GAA2B;AACzB,QAAMC,IAAgBC;AAAA,IACpBL;AAAA,IACAE;AAAA,IACAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAEIG,IAASL,GAAa,SAASA,EAAY,SAAS,IAEpDM,IAA8B;AAAA,IAClC,GAAGN,GAAa;AAAA,IAChB,mBAAmB,GAAGK,CAAM;AAAA,IAC5B,OAAOL,GAAa,QAAQ;AAAA,EAAA;AAG9B,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,qBAAqB,GAAG,yBAAyB;AAAA,MACxE,aAAaN;AAAA,MACb,OAAOG;AAAA,MAEN,UAAAN,GAAa;AAAA,IAAA;AAAA,EAAA;AAGpB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"click_away_listener.d.ts","sourceRoot":"","sources":["../../src/utils/click_away_listener.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;IACrD,UAAU,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IAE/C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;CACnC;AAWD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,GAAG,UAAU,EAC9B,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,WAsBzB;AAED,eAAO,MAAM,iBAAiB,4FA0E7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"click_away_listener.js","sources":["../../src/utils/click_away_listener.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef } from 'react';\nimport { useForkRef } from './hooks/use_fork_ref.js';\nexport interface ClickAwayListenerProps {\n children: React.ReactElement;\n onClickAway: (event: React.MouseEvent | React.TouchEvent) => void;\n mouseEvent?: 'onMouseUp' | 'onMouseDown' | 'onClick';\n touchEvent?: 'onTouchStart' | 'onTouchEnd';\n isException?: (target: HTMLElement) => boolean;\n // An array of refs that wont trigger the click away listener\n refs?: React.RefObject<Element>[];\n}\nconst eventMap = {\n onClick: 'click',\n onMouseDown: 'mousedown',\n onMouseUp: 'mouseup',\n};\nconst touchMap = {\n onTouchStart: 'touchstart',\n onTouchEnd: 'touchend',\n};\n\nexport function isEventWithinElement(\n event: MouseEvent | TouchEvent,\n node: HTMLElement | null,\n activated: boolean,\n refs: (Element | null)[]\n) {\n if (!activated) {\n return true;\n }\n\n let isWithinElement: boolean;\n\n if (event.composedPath) {\n isWithinElement =\n [node, ...refs].find((ref: any) => {\n return event.composedPath().indexOf(ref) > -1;\n }) !== undefined;\n } else {\n isWithinElement =\n !document.documentElement.contains(event.target as any) ||\n [node, ...refs].find((ref: any) => {\n return ref?.contains(event.target);\n }) !== undefined;\n }\n\n return isWithinElement;\n}\n\nexport const ClickAwayListener = React.forwardRef<HTMLElement, ClickAwayListenerProps>(\n function ClickAwayListener(\n { children, mouseEvent, touchEvent, onClickAway, refs = [], isException },\n ref\n ) {\n const nodeRef = useRef<HTMLElement | null>(null);\n const startedActionWithinElementRef = useRef<boolean>(true);\n const DOMMouseEvent = eventMap[mouseEvent || 'onClick'];\n const DOMTouchEvent = touchMap[touchEvent || 'onTouchEnd'];\n const newRef = useForkRef(ref, nodeRef, (children as any).ref);\n const activatedRef = React.useRef(false);\n\n React.useEffect(() => {\n // Ensure that this component is not \"activated\" synchronously.\n // https://github.com/facebook/react/issues/20074\n window.setTimeout(() => {\n activatedRef.current = true;\n }, 0);\n return () => {\n activatedRef.current = false;\n };\n }, []);\n\n const trackAction = useCallback(\n (event: any) => {\n startedActionWithinElementRef.current = isEventWithinElement(\n event,\n nodeRef.current,\n activatedRef.current,\n refs.map(r => r.current)\n );\n },\n [refs]\n );\n\n const eventHandler = useCallback(\n (event: any) => {\n const startedFromWithinElement = startedActionWithinElementRef.current;\n const isWithinElement = isEventWithinElement(\n event,\n nodeRef.current,\n activatedRef.current,\n refs.map(r => r.current)\n );\n\n if (\n !isWithinElement &&\n !startedFromWithinElement &&\n (!isException || !isException(event.target))\n ) {\n onClickAway(event);\n }\n },\n [onClickAway, refs, isException]\n );\n\n useEffect(() => {\n document.addEventListener('mousedown', trackAction);\n document.addEventListener('touchstart', trackAction);\n document.addEventListener(DOMMouseEvent, eventHandler);\n document.addEventListener(DOMTouchEvent, eventHandler);\n return () => {\n document.removeEventListener('mousedown', trackAction);\n document.removeEventListener('touchstart', trackAction);\n document.removeEventListener(DOMMouseEvent, eventHandler);\n document.removeEventListener(DOMTouchEvent, eventHandler);\n };\n }, [DOMTouchEvent, DOMMouseEvent, eventHandler, trackAction]);\n\n return React.cloneElement(children, {\n ...children.props,\n ref: newRef,\n });\n }\n);\n"],"names":["eventMap","touchMap","isEventWithinElement","event","node","activated","refs","isWithinElement","ref","ClickAwayListener","React","children","mouseEvent","touchEvent","onClickAway","isException","nodeRef","useRef","startedActionWithinElementRef","DOMMouseEvent","DOMTouchEvent","newRef","useForkRef","activatedRef","trackAction","useCallback","r","eventHandler","startedFromWithinElement","useEffect"],"mappings":";;AAWA,MAAMA,IAAW;AAAA,EACf,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AACb,GACMC,IAAW;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AACd;AAEO,SAASC,EACdC,GACAC,GACAC,GACAC,GACA;AACA,MAAI,CAACD;AACH,WAAO;AAGT,MAAIE;AAEJ,SAAIJ,EAAM,eACRI,IACE,CAACH,GAAM,GAAGE,CAAI,EAAE,KAAK,CAACE,MACbL,EAAM,aAAA,EAAe,QAAQK,CAAG,IAAI,EAC5C,MAAM,SAETD,IACE,CAAC,SAAS,gBAAgB,SAASJ,EAAM,MAAa,KACtD,CAACC,GAAM,GAAGE,CAAI,EAAE,KAAK,CAACE,MACbA,GAAK,SAASL,EAAM,MAAM,CAClC,MAAM,QAGJI;AACT;AAEO,MAAME,IAAoBC,EAAM;AAAA,EACrC,SACE,EAAE,UAAAC,GAAU,YAAAC,GAAY,YAAAC,GAAY,aAAAC,GAAa,MAAAR,IAAO,CAAA,GAAI,aAAAS,EAAA,GAC5DP,GACA;AACA,UAAMQ,IAAUC,EAA2B,IAAI,GACzCC,IAAgCD,EAAgB,EAAI,GACpDE,IAAgBnB,EAASY,KAAc,SAAS,GAChDQ,IAAgBnB,EAASY,KAAc,YAAY,GACnDQ,IAASC,EAAWd,GAAKQ,GAAUL,EAAiB,GAAG,GACvDY,IAAeb,EAAM,OAAO,EAAK;AAEvCA,IAAAA,EAAM,UAAU,OAGd,OAAO,WAAW,MAAM;AACtB,MAAAa,EAAa,UAAU;AAAA,IACzB,GAAG,CAAC,GACG,MAAM;AACX,MAAAA,EAAa,UAAU;AAAA,IACzB,IACC,CAAA,CAAE;AAEL,UAAMC,IAAcC;AAAA,MAClB,CAACtB,MAAe;AACd,QAAAe,EAA8B,UAAUhB;AAAA,UACtCC;AAAA,UACAa,EAAQ;AAAA,UACRO,EAAa;AAAA,UACbjB,EAAK,IAAI,CAAAoB,MAAKA,EAAE,OAAO;AAAA,QAAA;AAAA,MAE3B;AAAA,MACA,CAACpB,CAAI;AAAA,IAAA,GAGDqB,IAAeF;AAAA,MACnB,CAACtB,MAAe;AACd,cAAMyB,IAA2BV,EAA8B;AAQ/D,QACE,CARsBhB;AAAA,UACtBC;AAAA,UACAa,EAAQ;AAAA,UACRO,EAAa;AAAA,UACbjB,EAAK,IAAI,CAAAoB,MAAKA,EAAE,OAAO;AAAA,QAAA,KAKvB,CAACE,MACA,CAACb,KAAe,CAACA,EAAYZ,EAAM,MAAM,MAE1CW,EAAYX,CAAK;AAAA,MAErB;AAAA,MACA,CAACW,GAAaR,GAAMS,CAAW;AAAA,IAAA;AAGjC,WAAAc,EAAU,OACR,SAAS,iBAAiB,aAAaL,CAAW,GAClD,SAAS,iBAAiB,cAAcA,CAAW,GACnD,SAAS,iBAAiBL,GAAeQ,CAAY,GACrD,SAAS,iBAAiBP,GAAeO,CAAY,GAC9C,MAAM;AACX,eAAS,oBAAoB,aAAaH,CAAW,GACrD,SAAS,oBAAoB,cAAcA,CAAW,GACtD,SAAS,oBAAoBL,GAAeQ,CAAY,GACxD,SAAS,oBAAoBP,GAAeO,CAAY;AAAA,IAC1D,IACC,CAACP,GAAeD,GAAeQ,GAAcH,CAAW,CAAC,GAErDd,EAAM,aAAaC,GAAU;AAAA,MAClC,GAAGA,EAAS;AAAA,MACZ,KAAKU;AAAA,IAAA,CACN;AAAA,EACH;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/utils/dnd/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAUhD,eAAO,MAAM,oBAAoB,wCAA6C,CAAC;AAE/E,wBAAgB,gBAAgB,IAAI,aAAa,CAWhD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/utils/dnd/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { DragContainer } from './types.js';\n\nconst defaultValue: DragContainer = {\n registerHandle: () => {},\n unregisterHandle: () => {},\n isDragging: false,\n position: { x: 0, y: 0 },\n setPosition: () => {},\n};\n\nexport const DragContainerContext = createContext<DragContainer>(defaultValue);\n\nexport function useDragContainer(): DragContainer {\n const context = useContext(DragContainerContext);\n\n if (context === defaultValue) {\n // biome-ignore lint/suspicious/noConsole: Let devs know if they're not using the context correctly\n console.warn(\n 'useDragContainer: No DragContainerContext found. Handles may will not register or trigger drag events.'\n );\n }\n\n return context;\n}\n"],"names":["defaultValue","DragContainerContext","createContext","useDragContainer","context","useContext"],"mappings":";AAGA,MAAMA,IAA8B;AAAA,EAClC,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,kBAAkB,MAAM;AAAA,EAAC;AAAA,EACzB,YAAY;AAAA,EACZ,UAAU,EAAE,GAAG,GAAG,GAAG,EAAA;AAAA,EACrB,aAAa,MAAM;AAAA,EAAC;AACtB,GAEaC,IAAuBC,EAA6BF,CAAY;AAEtE,SAASG,IAAkC;AAChD,QAAMC,IAAUC,EAAWJ,CAAoB;AAE/C,SAAIG,MAAYJ,KAEd,QAAQ;AAAA,IACN;AAAA,EAAA,GAIGI;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"draggable.d.ts","sourceRoot":"","sources":["../../../../src/utils/dnd/draggable/draggable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAQ3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4B9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"draggable.js","sources":["../../../../src/utils/dnd/draggable/draggable.tsx"],"sourcesContent":["import React, { useMemo, type CSSProperties } from 'react';\n\nimport { DragContainerContext } from '../context.js';\nimport clsx from 'clsx';\nimport { useMakeDragContainer } from '../hooks/use_drag_container.js';\n\nimport styles from './draggable.module.css';\n\nexport interface DraggableProps {\n children: React.ReactElement;\n draggable?: boolean;\n}\n\nexport const Draggable: React.FC<DraggableProps> = ({\n children,\n draggable: isDraggable = true,\n}) => {\n const context = useMakeDragContainer({});\n\n const cssVariables = useMemo(\n () =>\n ({\n '--position-x': `${context.position.x}px`,\n '--position-y': `${context.position.y}px`,\n }) as CSSProperties,\n\n [context.position]\n );\n\n const clonedChildren = React.cloneElement(children, {\n className: clsx('tcn-draggable', styles.draggable, children.props.className),\n style: { ...cssVariables, ...children.props.style },\n 'data-is-dragging': context.isDragging,\n 'data-is-draggable': isDraggable,\n });\n\n return (\n <DragContainerContext.Provider value={context}>\n {clonedChildren}\n </DragContainerContext.Provider>\n );\n};\n"],"names":["Draggable","children","isDraggable","context","useMakeDragContainer","cssVariables","useMemo","clonedChildren","React","clsx","styles","DragContainerContext"],"mappings":";;;;;;AAaO,MAAMA,IAAsC,CAAC;AAAA,EAClD,UAAAC;AAAA,EACA,WAAWC,IAAc;AAC3B,MAAM;AACJ,QAAMC,IAAUC,EAAqB,EAAE,GAEjCC,IAAeC;AAAA,IACnB,OACG;AAAA,MACC,gBAAgB,GAAGH,EAAQ,SAAS,CAAC;AAAA,MACrC,gBAAgB,GAAGA,EAAQ,SAAS,CAAC;AAAA,IAAA;AAAA,IAGzC,CAACA,EAAQ,QAAQ;AAAA,EAAA,GAGbI,IAAiBC,EAAM,aAAaP,GAAU;AAAA,IAClD,WAAWQ,EAAK,iBAAiBC,EAAO,WAAWT,EAAS,MAAM,SAAS;AAAA,IAC3E,OAAO,EAAE,GAAGI,GAAc,GAAGJ,EAAS,MAAM,MAAA;AAAA,IAC5C,oBAAoBE,EAAQ;AAAA,IAC5B,qBAAqBD;AAAA,EAAA,CACtB;AAED,2BACGS,EAAqB,UAArB,EAA8B,OAAOR,GACnC,UAAAI,GACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../src/utils/dnd/handle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsBhD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sources":["../../../src/utils/dnd/handle.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\nimport { useDragContainer } from './context.js';\nimport { useForkRef } from '../hooks/use_fork_ref.js';\n\nexport interface DragHandleProps {\n children: React.ReactElement;\n}\n\nexport const DragHandle: React.FC<DragHandleProps> = ({ children }) => {\n const { registerHandle, unregisterHandle } = useDragContainer();\n const ref = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (ref.current == null) {\n return;\n }\n registerHandle(ref);\n return () => {\n if (ref.current == null) {\n return;\n }\n unregisterHandle(ref);\n };\n }, [registerHandle, unregisterHandle]);\n\n const mergedRef = useForkRef(ref, children.props.ref);\n return React.cloneElement(children, {\n className: clsx('tcn-drag-handle', children.props.className),\n ref: mergedRef,\n });\n};\n"],"names":["DragHandle","children","registerHandle","unregisterHandle","useDragContainer","ref","useRef","useEffect","mergedRef","useForkRef","React","clsx"],"mappings":";;;;AASO,MAAMA,IAAwC,CAAC,EAAE,UAAAC,QAAe;AACrE,QAAM,EAAE,gBAAAC,GAAgB,kBAAAC,EAAA,IAAqBC,EAAA,GACvCC,IAAMC,EAA2B,IAAI;AAE3C,EAAAC,EAAU,MAAM;AACd,QAAIF,EAAI,WAAW;AAGnB,aAAAH,EAAeG,CAAG,GACX,MAAM;AACX,QAAIA,EAAI,WAAW,QAGnBF,EAAiBE,CAAG;AAAA,MACtB;AAAA,EACF,GAAG,CAACH,GAAgBC,CAAgB,CAAC;AAErC,QAAMK,IAAYC,EAAWJ,GAAKJ,EAAS,MAAM,GAAG;AACpD,SAAOS,EAAM,aAAaT,GAAU;AAAA,IAClC,WAAWU,EAAK,mBAAmBV,EAAS,MAAM,SAAS;AAAA,IAC3D,KAAKO;AAAA,EAAA,CACN;AACH;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_drag_container.d.ts","sourceRoot":"","sources":["../../../../src/utils/dnd/hooks/use_drag_container.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa,CAoDpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_drag_container.js","sources":["../../../../src/utils/dnd/hooks/use_drag_container.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport type { Position } from '../../index.js';\nimport type { DragContainer } from '../types.js';\nimport { useDraggable } from './use_draggable.js';\n\nexport interface UseDragContainerOptions {\n initialPosition?: Position;\n}\n\nexport function useMakeDragContainer(options: UseDragContainerOptions): DragContainer {\n const [handles, setHandles] = useState<React.RefObject<HTMLElement>[]>([]);\n const positionRef = useRef<Position>(options.initialPosition ?? { x: 0, y: 0 });\n const [position, setPosition] = useState(positionRef.current);\n const [isDragging, setIsDragging] = useState(false);\n\n useDraggable({\n handles: handles,\n startDragCallback: () => {\n setIsDragging(true);\n },\n dragCallback: (deltaX, deltaY) => {\n setPosition({\n x: positionRef.current.x + deltaX,\n y: positionRef.current.y + deltaY,\n });\n },\n endDragCallback: (deltaX, deltaY) => {\n positionRef.current = {\n x: positionRef.current.x + deltaX,\n y: positionRef.current.y + deltaY,\n };\n setIsDragging(false);\n },\n });\n\n const setPositionState = useCallback(\n (value: Position | ((prev: Position) => Position)) => {\n setPosition(prev => {\n const next = typeof value === 'function' ? value(prev) : value;\n positionRef.current = next;\n return next;\n });\n },\n []\n );\n\n const registerHandle = useCallback((handle: React.RefObject<HTMLElement>) => {\n setHandles(prev => [...prev, handle]);\n }, []);\n\n const unregisterHandle = useCallback((handle: React.RefObject<HTMLElement>) => {\n setHandles(prev => prev.filter(h => h !== handle));\n }, []);\n\n return {\n registerHandle,\n unregisterHandle,\n position,\n isDragging,\n setPosition: setPositionState,\n };\n}\n"],"names":["useMakeDragContainer","options","handles","setHandles","useState","positionRef","useRef","position","setPosition","isDragging","setIsDragging","useDraggable","deltaX","deltaY","setPositionState","useCallback","value","prev","next","registerHandle","handle","unregisterHandle","h"],"mappings":";;AASO,SAASA,EAAqBC,GAAiD;AACpF,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAyC,CAAA,CAAE,GACnEC,IAAcC,EAAiBL,EAAQ,mBAAmB,EAAE,GAAG,GAAG,GAAG,GAAG,GACxE,CAACM,GAAUC,CAAW,IAAIJ,EAASC,EAAY,OAAO,GACtD,CAACI,GAAYC,CAAa,IAAIN,EAAS,EAAK;AAElD,EAAAO,EAAa;AAAA,IACX,SAAAT;AAAA,IACA,mBAAmB,MAAM;AACvB,MAAAQ,EAAc,EAAI;AAAA,IACpB;AAAA,IACA,cAAc,CAACE,GAAQC,MAAW;AAChC,MAAAL,EAAY;AAAA,QACV,GAAGH,EAAY,QAAQ,IAAIO;AAAA,QAC3B,GAAGP,EAAY,QAAQ,IAAIQ;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,IACA,iBAAiB,CAACD,GAAQC,MAAW;AACnC,MAAAR,EAAY,UAAU;AAAA,QACpB,GAAGA,EAAY,QAAQ,IAAIO;AAAA,QAC3B,GAAGP,EAAY,QAAQ,IAAIQ;AAAA,MAAA,GAE7BH,EAAc,EAAK;AAAA,IACrB;AAAA,EAAA,CACD;AAED,QAAMI,IAAmBC;AAAA,IACvB,CAACC,MAAqD;AACpD,MAAAR,EAAY,CAAAS,MAAQ;AAClB,cAAMC,IAAO,OAAOF,KAAU,aAAaA,EAAMC,CAAI,IAAID;AACzD,eAAAX,EAAY,UAAUa,GACfA;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAA;AAAA,EAAC,GAGGC,IAAiBJ,EAAY,CAACK,MAAyC;AAC3E,IAAAjB,EAAW,CAAAc,MAAQ,CAAC,GAAGA,GAAMG,CAAM,CAAC;AAAA,EACtC,GAAG,CAAA,CAAE,GAECC,IAAmBN,EAAY,CAACK,MAAyC;AAC7E,IAAAjB,EAAW,OAAQc,EAAK,OAAO,CAAAK,MAAKA,MAAMF,CAAM,CAAC;AAAA,EACnD,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL,gBAAAD;AAAA,IACA,kBAAAE;AAAA,IACA,UAAAd;AAAA,IACA,YAAAE;AAAA,IACA,aAAaK;AAAA,EAAA;AAEjB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_draggable.d.ts","sourceRoot":"","sources":["../../../../src/utils/dnd/hooks/use_draggable.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvF,eAAe,EAAE,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,QAiExD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_draggable.js","sources":["../../../../src/utils/dnd/hooks/use_draggable.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport interface UseDraggableOptions {\n startDragCallback: (startX: number, startY: number) => void;\n dragCallback: (deltaX: number, deltaY: number, startX: number, startY: number) => void;\n endDragCallback: (\n deltaX: number,\n deltaY: number,\n startX: number,\n startY: number\n ) => void;\n handles?: React.RefObject<HTMLElement>[] | React.RefObject<HTMLElement>;\n}\n\nexport function useDraggable(options: UseDraggableOptions) {\n const startDragCallbackRef = useRef(options.startDragCallback);\n startDragCallbackRef.current = options.startDragCallback;\n const dragCallbackRef = useRef(options.dragCallback);\n dragCallbackRef.current = options.dragCallback;\n const endDragCallbackRef = useRef(options.endDragCallback);\n endDragCallbackRef.current = options.endDragCallback;\n\n useEffect(() => {\n const handles = options.handles;\n if (handles === undefined) return;\n let startX = 0;\n let startY = 0;\n\n function drag(event: MouseEvent) {\n const deltaX = event.clientX - startX;\n const deltaY = event.clientY - startY;\n\n dragCallbackRef.current(deltaX, deltaY, startX, startY);\n }\n\n function endDrag(event: MouseEvent) {\n const deltaX = event.clientX !== undefined ? event.clientX - startX : 0;\n const deltaY = event.clientY !== undefined ? event.clientY - startY : 0;\n endDragCallbackRef.current(deltaX, deltaY, startX, startY);\n document.body.removeEventListener('mousemove', drag);\n document.body.removeEventListener('mouseup', endDrag);\n document.body.removeEventListener('mouseleave', endDrag);\n }\n\n function startDrag(event: MouseEvent) {\n startX = event.clientX;\n startY = event.clientY;\n\n startDragCallbackRef.current(startX, startY);\n\n document.body.addEventListener('mousemove', drag);\n document.body.addEventListener('mouseup', endDrag);\n document.body.addEventListener('mouseleave', endDrag);\n }\n\n if (Array.isArray(handles)) {\n for (const element of handles) {\n if (element != null) {\n element.current?.addEventListener('mousedown', startDrag);\n }\n }\n } else {\n handles?.current?.addEventListener('mousedown', startDrag);\n }\n return () => {\n if (Array.isArray(handles)) {\n for (const element of handles) {\n if (element != null) {\n element.current?.removeEventListener('mousedown', startDrag);\n }\n }\n } else {\n handles?.current?.removeEventListener('mousedown', startDrag);\n }\n document.body.removeEventListener('mousemove', drag);\n document.body.removeEventListener('mouseup', endDrag);\n document.body.removeEventListener('mouseleave', endDrag);\n };\n }, [options.handles]);\n}\n"],"names":["useDraggable","options","startDragCallbackRef","useRef","dragCallbackRef","endDragCallbackRef","useEffect","handles","startX","startY","drag","event","deltaX","deltaY","endDrag","startDrag","element"],"mappings":";AAcO,SAASA,EAAaC,GAA8B;AACzD,QAAMC,IAAuBC,EAAOF,EAAQ,iBAAiB;AAC7D,EAAAC,EAAqB,UAAUD,EAAQ;AACvC,QAAMG,IAAkBD,EAAOF,EAAQ,YAAY;AACnD,EAAAG,EAAgB,UAAUH,EAAQ;AAClC,QAAMI,IAAqBF,EAAOF,EAAQ,eAAe;AACzD,EAAAI,EAAmB,UAAUJ,EAAQ,iBAErCK,EAAU,MAAM;AACd,UAAMC,IAAUN,EAAQ;AACxB,QAAIM,MAAY,OAAW;AAC3B,QAAIC,IAAS,GACTC,IAAS;AAEb,aAASC,EAAKC,GAAmB;AAC/B,YAAMC,IAASD,EAAM,UAAUH,GACzBK,IAASF,EAAM,UAAUF;AAE/B,MAAAL,EAAgB,QAAQQ,GAAQC,GAAQL,GAAQC,CAAM;AAAA,IACxD;AAEA,aAASK,EAAQH,GAAmB;AAClC,YAAMC,IAASD,EAAM,YAAY,SAAYA,EAAM,UAAUH,IAAS,GAChEK,IAASF,EAAM,YAAY,SAAYA,EAAM,UAAUF,IAAS;AACtE,MAAAJ,EAAmB,QAAQO,GAAQC,GAAQL,GAAQC,CAAM,GACzD,SAAS,KAAK,oBAAoB,aAAaC,CAAI,GACnD,SAAS,KAAK,oBAAoB,WAAWI,CAAO,GACpD,SAAS,KAAK,oBAAoB,cAAcA,CAAO;AAAA,IACzD;AAEA,aAASC,EAAUJ,GAAmB;AACpC,MAAAH,IAASG,EAAM,SACfF,IAASE,EAAM,SAEfT,EAAqB,QAAQM,GAAQC,CAAM,GAE3C,SAAS,KAAK,iBAAiB,aAAaC,CAAI,GAChD,SAAS,KAAK,iBAAiB,WAAWI,CAAO,GACjD,SAAS,KAAK,iBAAiB,cAAcA,CAAO;AAAA,IACtD;AAEA,QAAI,MAAM,QAAQP,CAAO;AACvB,iBAAWS,KAAWT;AACpB,QACES,GAAQ,SAAS,iBAAiB,aAAaD,CAAS;AAAA;AAI5D,MAAAR,GAAS,SAAS,iBAAiB,aAAaQ,CAAS;AAE3D,WAAO,MAAM;AACX,UAAI,MAAM,QAAQR,CAAO;AACvB,mBAAWS,KAAWT;AACpB,UACES,GAAQ,SAAS,oBAAoB,aAAaD,CAAS;AAAA;AAI/D,QAAAR,GAAS,SAAS,oBAAoB,aAAaQ,CAAS;AAE9D,eAAS,KAAK,oBAAoB,aAAaL,CAAI,GACnD,SAAS,KAAK,oBAAoB,WAAWI,CAAO,GACpD,SAAS,KAAK,oBAAoB,cAAcA,CAAO;AAAA,IACzD;AAAA,EACF,GAAG,CAACb,EAAQ,OAAO,CAAC;AACtB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/dnd/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC;CACzE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focus_redirect.d.ts","sourceRoot":"","sources":["../../src/utils/focus_redirect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,2FAmBxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focus_redirect.js","sources":["../../src/utils/focus_redirect.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface FocusRedirectProps {\n onRedirect: () => void;\n}\n\nexport const FocusRedirect = React.forwardRef(function FocusRedirect(\n { onRedirect }: FocusRedirectProps,\n ref: React.Ref<HTMLDivElement>\n) {\n return (\n <div\n ref={ref}\n tabIndex={0}\n onFocus={onRedirect}\n style={{\n padding: 0,\n margin: 0,\n width: 0,\n height: 0,\n opacity: 0,\n position: 'relative',\n }}\n ></div>\n );\n});\n"],"names":["FocusRedirect","React","onRedirect","ref","jsx"],"mappings":";;AAMO,MAAMA,IAAgBC,EAAM,WAAW,SAC5C,EAAE,YAAAC,EAAA,GACFC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,UAAU;AAAA,MACV,SAASD;AAAA,MACT,OAAO;AAAA,QACL,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mouse_leave_region.d.ts","sourceRoot":"","sources":["../../src/utils/mouse_leave_region.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAC7E,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EAAE,WAAW,EACzB,MAAU,GACX,EAAE,qBAAqB,QAyBvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mouse_leave_region.js","sources":["../../src/utils/mouse_leave_region.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nexport interface MouseLeaveRegionProps {\n elementsRefs: (React.RefObject<Element> | React.MutableRefObject<Element>)[];\n onMouseLeave: () => void;\n buffer?: number;\n}\n\nexport function MouseLeaveRegion({\n onMouseLeave,\n elementsRefs: elementRefs,\n buffer = 8,\n}: MouseLeaveRegionProps) {\n useEffect(() => {\n const update = (event: MouseEvent) => {\n const intersects = elementRefs.some(ref => {\n const element = ref.current;\n if (element != null) {\n const rect = element.getBoundingClientRect();\n const overlapLeft = Math.max(event.clientX - buffer, rect.left);\n const overlapRight = Math.min(event.clientX + buffer, rect.right);\n const overlapTop = Math.max(event.clientY - buffer, rect.top);\n const overlapBottom = Math.min(event.clientY + buffer, rect.bottom);\n return overlapLeft <= overlapRight && overlapTop <= overlapBottom;\n }\n return false;\n });\n if (!intersects) {\n onMouseLeave();\n }\n };\n window.addEventListener('mousemove', update);\n return () => {\n window.removeEventListener('mousemove', update);\n };\n }, [onMouseLeave, elementRefs, buffer]);\n return null;\n}\n"],"names":["MouseLeaveRegion","onMouseLeave","elementRefs","buffer","useEffect","update","event","ref","element","rect","overlapLeft","overlapRight","overlapTop","overlapBottom"],"mappings":";AAQO,SAASA,EAAiB;AAAA,EAC/B,cAAAC;AAAA,EACA,cAAcC;AAAA,EACd,QAAAC,IAAS;AACX,GAA0B;AACxB,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAS,CAACC,MAAsB;AAapC,MAZmBJ,EAAY,KAAK,CAAAK,MAAO;AACzC,cAAMC,IAAUD,EAAI;AACpB,YAAIC,KAAW,MAAM;AACnB,gBAAMC,IAAOD,EAAQ,sBAAA,GACfE,IAAc,KAAK,IAAIJ,EAAM,UAAUH,GAAQM,EAAK,IAAI,GACxDE,IAAe,KAAK,IAAIL,EAAM,UAAUH,GAAQM,EAAK,KAAK,GAC1DG,IAAa,KAAK,IAAIN,EAAM,UAAUH,GAAQM,EAAK,GAAG,GACtDI,IAAgB,KAAK,IAAIP,EAAM,UAAUH,GAAQM,EAAK,MAAM;AAClE,iBAAOC,KAAeC,KAAgBC,KAAcC;AAAA,QACtD;AACA,eAAO;AAAA,MACT,CAAC,KAECZ,EAAA;AAAA,IAEJ;AACA,kBAAO,iBAAiB,aAAaI,CAAM,GACpC,MAAM;AACX,aAAO,oBAAoB,aAAaA,CAAM;AAAA,IAChD;AAAA,EACF,GAAG,CAACJ,GAAcC,GAAaC,CAAM,CAAC,GAC/B;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,gBAAgB,4DAE5B,CAAC;AAEF,eAAO,MAAM,YAAY,6BAAwD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/utils/resize/context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { makeContextHook } from '../hooks/make_context_hook.js';\nimport type { ResizableContextValue } from './types.js';\n\nexport const ResizableContext = createContext<ResizableContextValue | undefined>(\n undefined\n);\n\nexport const useResizable = makeContextHook(ResizableContext, 'ResizableContext');\n"],"names":["ResizableContext","createContext","useResizable","makeContextHook"],"mappings":";;AAIO,MAAMA,IAAmBC;AAAA,EAC9B;AACF,GAEaC,IAAeC,EAAgBH,GAAkB,kBAAkB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle_config.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/handle_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAoEpB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,YAAY,CAE5E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,OAAO,GACxB,MAAM,CAGR;AASD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,iBAAiB,EAAE,MAAM,GACxB,oBAAoB,CAUtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAK/D"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
const a = {
|
|
2
|
-
// Edges — single axis
|
|
3
|
-
left: {
|
|
4
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !0 }
|
|
5
|
-
},
|
|
6
|
-
right: {
|
|
7
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !0 }
|
|
8
|
-
},
|
|
9
|
-
start: {
|
|
10
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !1 }
|
|
11
|
-
},
|
|
12
|
-
end: {
|
|
13
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !1 }
|
|
14
|
-
},
|
|
15
|
-
top: {
|
|
16
|
-
vertical: { origin: "top", invert: !0, disableDirection: !0 }
|
|
17
|
-
},
|
|
18
|
-
bottom: {
|
|
19
|
-
vertical: { origin: "bottom", invert: !1, disableDirection: !0 }
|
|
20
|
-
},
|
|
21
|
-
// Corners — dual axis (physical)
|
|
22
|
-
"top-left": {
|
|
23
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !0 },
|
|
24
|
-
vertical: { origin: "top", invert: !0, disableDirection: !0 }
|
|
25
|
-
},
|
|
26
|
-
"top-right": {
|
|
27
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !0 },
|
|
28
|
-
vertical: { origin: "top", invert: !0, disableDirection: !0 }
|
|
29
|
-
},
|
|
30
|
-
"bottom-left": {
|
|
31
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !0 },
|
|
32
|
-
vertical: { origin: "bottom", invert: !1, disableDirection: !0 }
|
|
33
|
-
},
|
|
34
|
-
"bottom-right": {
|
|
35
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !0 },
|
|
36
|
-
vertical: { origin: "bottom", invert: !1, disableDirection: !0 }
|
|
37
|
-
},
|
|
38
|
-
// Corners — dual axis (logical, RTL-aware)
|
|
39
|
-
"top-start": {
|
|
40
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !1 },
|
|
41
|
-
vertical: { origin: "top", invert: !0, disableDirection: !0 }
|
|
42
|
-
},
|
|
43
|
-
"top-end": {
|
|
44
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !1 },
|
|
45
|
-
vertical: { origin: "top", invert: !0, disableDirection: !0 }
|
|
46
|
-
},
|
|
47
|
-
"bottom-start": {
|
|
48
|
-
horizontal: { origin: "left", invert: !0, disableDirection: !1 },
|
|
49
|
-
vertical: { origin: "bottom", invert: !1, disableDirection: !0 }
|
|
50
|
-
},
|
|
51
|
-
"bottom-end": {
|
|
52
|
-
horizontal: { origin: "right", invert: !1, disableDirection: !1 },
|
|
53
|
-
vertical: { origin: "bottom", invert: !1, disableDirection: !0 }
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
function u(i) {
|
|
57
|
-
return a[i];
|
|
58
|
-
}
|
|
59
|
-
function v(i, t, e) {
|
|
60
|
-
return (i === "rtl" && !e ? !t : t) ? -1 : 1;
|
|
61
|
-
}
|
|
62
|
-
function l(i, t) {
|
|
63
|
-
return {
|
|
64
|
-
origin: i.origin,
|
|
65
|
-
direction: v(t, i.invert, i.disableDirection)
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function f(i, t) {
|
|
69
|
-
const e = a[i];
|
|
70
|
-
return {
|
|
71
|
-
horizontal: e.horizontal ? l(e.horizontal, t) : void 0,
|
|
72
|
-
vertical: e.vertical ? l(e.vertical, t) : void 0
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
function g(i, t, e, r, s) {
|
|
76
|
-
const o = r * (e - t), n = i + o, c = n - s;
|
|
77
|
-
return { newSize: n, totalDelta: o, currentDelta: c };
|
|
78
|
-
}
|
|
79
|
-
export {
|
|
80
|
-
g as computeResizeState,
|
|
81
|
-
u as getHandleConfig,
|
|
82
|
-
v as resolveDirection,
|
|
83
|
-
f as resolveHandleConfig
|
|
84
|
-
};
|
|
85
|
-
//# sourceMappingURL=handle_config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle_config.js","sources":["../../../src/utils/resize/handle_config.ts"],"sourcesContent":["import type {\n AxisConfig,\n HandleConfig,\n ResolvedHandleConfig,\n ResizeHandlePosition,\n} from './types.js';\n\n/**\n * Pure position → config lookup. No DOM, no React.\n *\n * Edges populate one axis, corners populate both.\n * The React adapter reads DOM state (getBoundingClientRect, getComputedStyle)\n * and feeds resolved values into resolveDirection / computeResizeState.\n */\n\nconst configs: Record<ResizeHandlePosition, HandleConfig> = {\n // Edges — single axis\n left: {\n horizontal: { origin: 'left', invert: true, disableDirection: true },\n },\n right: {\n horizontal: { origin: 'right', invert: false, disableDirection: true },\n },\n start: {\n horizontal: { origin: 'left', invert: true, disableDirection: false },\n },\n end: {\n horizontal: { origin: 'right', invert: false, disableDirection: false },\n },\n top: {\n vertical: { origin: 'top', invert: true, disableDirection: true },\n },\n bottom: {\n vertical: { origin: 'bottom', invert: false, disableDirection: true },\n },\n\n // Corners — dual axis (physical)\n 'top-left': {\n horizontal: { origin: 'left', invert: true, disableDirection: true },\n vertical: { origin: 'top', invert: true, disableDirection: true },\n },\n 'top-right': {\n horizontal: { origin: 'right', invert: false, disableDirection: true },\n vertical: { origin: 'top', invert: true, disableDirection: true },\n },\n 'bottom-left': {\n horizontal: { origin: 'left', invert: true, disableDirection: true },\n vertical: { origin: 'bottom', invert: false, disableDirection: true },\n },\n 'bottom-right': {\n horizontal: { origin: 'right', invert: false, disableDirection: true },\n vertical: { origin: 'bottom', invert: false, disableDirection: true },\n },\n\n // Corners — dual axis (logical, RTL-aware)\n 'top-start': {\n horizontal: { origin: 'left', invert: true, disableDirection: false },\n vertical: { origin: 'top', invert: true, disableDirection: true },\n },\n 'top-end': {\n horizontal: { origin: 'right', invert: false, disableDirection: false },\n vertical: { origin: 'top', invert: true, disableDirection: true },\n },\n 'bottom-start': {\n horizontal: { origin: 'left', invert: true, disableDirection: false },\n vertical: { origin: 'bottom', invert: false, disableDirection: true },\n },\n 'bottom-end': {\n horizontal: { origin: 'right', invert: false, disableDirection: false },\n vertical: { origin: 'bottom', invert: false, disableDirection: true },\n },\n};\n\nexport function getHandleConfig(position: ResizeHandlePosition): HandleConfig {\n return configs[position];\n}\n\n/**\n * Resolve the direction multiplier for a resize axis.\n *\n * @param languageDirection - 'ltr' or 'rtl' from getComputedStyle (passed by React adapter)\n * @param invert - whether the axis inverts the delta (e.g. dragging left-handle right shrinks)\n * @param disableDirection - if true, ignore RTL (physical positions like left/right)\n * @returns +1 or -1\n */\nexport function resolveDirection(\n languageDirection: string,\n invert: boolean,\n disableDirection: boolean\n): number {\n const finalInvert = languageDirection === 'rtl' && !disableDirection ? !invert : invert;\n return finalInvert ? -1 : 1;\n}\n\nfunction resolveAxis(axis: AxisConfig, languageDirection: string) {\n return {\n origin: axis.origin,\n direction: resolveDirection(languageDirection, axis.invert, axis.disableDirection),\n };\n}\n\n/**\n * Combines position lookup with direction resolution.\n * The caller only needs to provide the language direction from the DOM —\n * all config internals (invert, disableDirection) are resolved here.\n */\nexport function resolveHandleConfig(\n position: ResizeHandlePosition,\n languageDirection: string\n): ResolvedHandleConfig {\n const config = configs[position];\n return {\n horizontal: config.horizontal\n ? resolveAxis(config.horizontal, languageDirection)\n : undefined,\n vertical: config.vertical\n ? resolveAxis(config.vertical, languageDirection)\n : undefined,\n };\n}\n\n/**\n * Pure resize state computation. Called per-axis on each mousemove.\n *\n * @param startSize - element width/height at mousedown (from getBoundingClientRect)\n * @param startCoord - clientX/clientY at mousedown\n * @param currentCoord - clientX/clientY at this mousemove\n * @param direction - +1 or -1 from resolveDirection\n * @param previousSize - the size after the last mousemove (for currentDelta)\n */\nexport function computeResizeState(\n startSize: number,\n startCoord: number,\n currentCoord: number,\n direction: number,\n previousSize: number\n): { newSize: number; totalDelta: number; currentDelta: number } {\n const totalDelta = direction * (currentCoord - startCoord);\n const newSize = startSize + totalDelta;\n const currentDelta = newSize - previousSize;\n return { newSize, totalDelta, currentDelta };\n}\n"],"names":["configs","getHandleConfig","position","resolveDirection","languageDirection","invert","disableDirection","resolveAxis","axis","resolveHandleConfig","config","computeResizeState","startSize","startCoord","currentCoord","direction","previousSize","totalDelta","newSize","currentDelta"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/resizable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAwBD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAClB,EAAE,cAAc,2CA+ChB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resizable.js","sources":["../../../src/utils/resize/resizable.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { clsx } from 'clsx';\nimport { useForkRef } from '../hooks/use_fork_ref.js';\nimport { ResizableContext } from './context.js';\nimport type {\n OnWidthResize,\n OnWidthResizeEnd,\n OnHeightResize,\n OnHeightResizeEnd,\n ResizableContextValue,\n} from './types.js';\nimport styles from './resizable.module.css';\n\nexport interface ResizableProps {\n children: React.ReactNode;\n onWidthResize?: OnWidthResize;\n onWidthResizeEnd?: OnWidthResizeEnd;\n onHeightResize?: OnHeightResize;\n onHeightResizeEnd?: OnHeightResizeEnd;\n}\n\ninterface ResizableTargetProps {\n className?: string;\n children?: React.ReactNode;\n ref?: React.Ref<HTMLElement>;\n}\n\ntype ResizableTarget = React.ReactElement<ResizableTargetProps>;\n\nfunction isResizableTarget(child: React.ReactNode): child is ResizableTarget {\n if (!React.isValidElement(child)) return false;\n const type = child.type;\n if (typeof type === 'string') return true;\n if (typeof type === 'function' || typeof type === 'object') {\n return (type as { displayName?: string }).displayName !== 'ResizeHandle';\n }\n return false;\n}\n\nfunction isResizeHandle(child: React.ReactNode): boolean {\n return React.isValidElement(child) && !isResizableTarget(child);\n}\n\nexport function Resizable({\n children,\n onWidthResize,\n onWidthResizeEnd,\n onHeightResize,\n onHeightResizeEnd,\n}: ResizableProps) {\n const targetRef = useRef<HTMLElement | null>(null);\n\n const childArray = React.Children.toArray(children);\n const targetChild = childArray.find(isResizableTarget);\n const handleChildren = childArray.filter(isResizeHandle);\n\n const contextValue = useMemo<ResizableContextValue>(\n () => ({\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n onHeightResize,\n onHeightResizeEnd,\n }),\n [onWidthResize, onWidthResizeEnd, onHeightResize, onHeightResizeEnd]\n );\n\n const forkedRef = useForkRef(targetRef, targetChild?.props.ref);\n\n if (!targetChild) {\n return (\n <ResizableContext.Provider value={contextValue}>\n {children}\n </ResizableContext.Provider>\n );\n }\n\n const clonedTarget = React.cloneElement(\n targetChild,\n {\n ref: forkedRef,\n className: clsx(\n targetChild.props.className,\n styles['resizable-target'],\n 'tcn-resizable-target'\n ),\n },\n targetChild.props.children,\n ...handleChildren\n );\n\n return (\n <ResizableContext.Provider value={contextValue}>\n {clonedTarget}\n </ResizableContext.Provider>\n );\n}\n"],"names":["isResizableTarget","child","React","type","isResizeHandle","Resizable","children","onWidthResize","onWidthResizeEnd","onHeightResize","onHeightResizeEnd","targetRef","useRef","childArray","targetChild","handleChildren","contextValue","useMemo","forkedRef","useForkRef","ResizableContext","clonedTarget","clsx","styles"],"mappings":";;;;;;AA6BA,SAASA,EAAkBC,GAAkD;AAC3E,MAAI,CAACC,EAAM,eAAeD,CAAK,EAAG,QAAO;AACzC,QAAME,IAAOF,EAAM;AACnB,SAAI,OAAOE,KAAS,WAAiB,KACjC,OAAOA,KAAS,cAAc,OAAOA,KAAS,WACxCA,EAAkC,gBAAgB,iBAErD;AACT;AAEA,SAASC,EAAeH,GAAiC;AACvD,SAAOC,EAAM,eAAeD,CAAK,KAAK,CAACD,EAAkBC,CAAK;AAChE;AAEO,SAASI,EAAU;AAAA,EACxB,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,mBAAAC;AACF,GAAmB;AACjB,QAAMC,IAAYC,EAA2B,IAAI,GAE3CC,IAAaX,EAAM,SAAS,QAAQI,CAAQ,GAC5CQ,IAAcD,EAAW,KAAKb,CAAiB,GAC/Ce,IAAiBF,EAAW,OAAOT,CAAc,GAEjDY,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,WAAAN;AAAA,MACA,eAAAJ;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,IAAA;AAAA,IAEF,CAACH,GAAeC,GAAkBC,GAAgBC,CAAiB;AAAA,EAAA,GAG/DQ,IAAYC,EAAWR,GAAWG,GAAa,MAAM,GAAG;AAE9D,MAAI,CAACA;AACH,6BACGM,EAAiB,UAAjB,EAA0B,OAAOJ,GAC/B,UAAAV,GACH;AAIJ,QAAMe,IAAenB,EAAM;AAAA,IACzBY;AAAA,IACA;AAAA,MACE,KAAKI;AAAA,MACL,WAAWI;AAAA,QACTR,EAAY,MAAM;AAAA,QAClBS,EAAO,kBAAkB;AAAA,QACzB;AAAA,MAAA;AAAA,IACF;AAAA,IAEFT,EAAY,MAAM;AAAA,IAClB,GAAGC;AAAA,EAAA;AAGL,2BACGK,EAAiB,UAAjB,EAA0B,OAAOJ,GAC/B,UAAAK,GACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize_handle.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/resize_handle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,0FAqJxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize_handle.js","sources":["../../../src/utils/resize/resize_handle.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { clsx } from 'clsx';\nimport { useResizable } from './context.js';\nimport { getHandleConfig } from './handle_config.js';\nimport { ResizeHandleStrategy } from './resize_strategy.js';\nimport { detectResizeBounds } from '../../stacks/box/detect_resize_bounds.js';\nimport type { ResizeHandlePosition } from './types.js';\nimport styles from './resize_handle.module.css';\n\nexport interface ResizeHandleProps extends React.HTMLAttributes<HTMLDivElement> {\n position: ResizeHandlePosition;\n}\n\nexport const ResizeHandle = forwardRef<HTMLDivElement, ResizeHandleProps>(\n function ResizeHandle({ position, className, ...rest }, ref) {\n const {\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n onHeightResize,\n onHeightResizeEnd,\n } = useResizable();\n\n const config = getHandleConfig(position);\n const axis =\n config.horizontal && config.vertical\n ? 'corner'\n : config.horizontal\n ? 'horizontal'\n : 'vertical';\n\n const strategy = useMemo(() => new ResizeHandleStrategy(position), [position]);\n\n const handleMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n const target = targetRef.current;\n if (target == null) return;\n\n const rect = target.getBoundingClientRect();\n strategy.startResize({\n rectangle: {\n dimensions: {\n width: rect.width,\n height: rect.height,\n },\n position: {\n x: event.clientX,\n y: event.clientY,\n },\n },\n languageDirection: window.getComputedStyle(target).direction,\n });\n\n let frameId = 0;\n\n const drag = (e: MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n cancelAnimationFrame(frameId);\n frameId = requestAnimationFrame(() => {\n const result = strategy.resize({ x: e.clientX, y: e.clientY });\n\n let appliedWidth = rect.width;\n let appliedHeight = rect.height;\n\n if (result.horizontal) {\n const bounds = detectResizeBounds({\n element: target,\n axis: 'width',\n nextSize: result.horizontal.newSize,\n });\n if (!bounds.clamped) {\n appliedWidth = result.horizontal.newSize;\n target.style.width = `${result.horizontal.newSize}px`;\n onWidthResize?.({\n width: result.horizontal.newSize,\n origin: result.horizontal.origin,\n totalDelta: result.horizontal.totalDelta,\n currentDelta: result.horizontal.currentDelta,\n });\n } else if (\n bounds.clampedSize !== null &&\n bounds.clampedSize !== appliedWidth\n ) {\n appliedWidth = bounds.clampedSize;\n target.style.width = `${bounds.clampedSize}px`;\n onWidthResize?.({\n width: bounds.clampedSize,\n origin: result.horizontal.origin,\n totalDelta: result.horizontal.totalDelta,\n currentDelta: result.horizontal.currentDelta,\n });\n }\n }\n\n if (result.vertical) {\n const bounds = detectResizeBounds({\n element: target,\n axis: 'height',\n nextSize: result.vertical.newSize,\n });\n if (!bounds.clamped) {\n appliedHeight = result.vertical.newSize;\n target.style.height = `${result.vertical.newSize}px`;\n onHeightResize?.({\n height: result.vertical.newSize,\n origin: result.vertical.origin,\n totalDelta: result.vertical.totalDelta,\n currentDelta: result.vertical.currentDelta,\n });\n } else if (\n bounds.clampedSize !== null &&\n bounds.clampedSize !== appliedHeight\n ) {\n appliedHeight = bounds.clampedSize;\n target.style.height = `${bounds.clampedSize}px`;\n onHeightResize?.({\n height: bounds.clampedSize,\n origin: result.vertical.origin,\n totalDelta: result.vertical.totalDelta,\n currentDelta: result.vertical.currentDelta,\n });\n }\n }\n\n strategy.commitResize({ width: appliedWidth, height: appliedHeight });\n });\n };\n\n const endDrag = () => {\n cancelAnimationFrame(frameId);\n document.body.removeEventListener('mousemove', drag);\n document.body.removeEventListener('mouseup', endDrag);\n window.removeEventListener('blur', endDrag);\n\n const result = strategy.endResize();\n if (result.horizontal) {\n onWidthResizeEnd?.(result.horizontal.width, result.horizontal.origin);\n }\n if (result.vertical) {\n onHeightResizeEnd?.(result.vertical.height, result.vertical.origin);\n }\n };\n\n document.body.addEventListener('mousemove', drag);\n document.body.addEventListener('mouseup', endDrag);\n window.addEventListener('blur', endDrag);\n event.stopPropagation();\n event.preventDefault();\n };\n\n return (\n <div\n ref={ref}\n className={clsx(styles['resize-handle'], 'tcn-resize-handle', className)}\n data-position={position}\n data-axis={axis}\n onMouseDown={handleMouseDown}\n {...rest}\n />\n );\n }\n);\n\nResizeHandle.displayName = 'ResizeHandle';\n"],"names":["ResizeHandle","forwardRef","position","className","rest","ref","targetRef","onWidthResize","onWidthResizeEnd","onHeightResize","onHeightResizeEnd","useResizable","config","getHandleConfig","axis","strategy","useMemo","ResizeHandleStrategy","handleMouseDown","event","target","rect","frameId","drag","e","result","appliedWidth","appliedHeight","bounds","detectResizeBounds","endDrag","jsx","clsx","styles"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize_strategy.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/resize_strategy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;CAC3D;AA6GD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,QAAQ,EAAE,oBAAoB;IAW1C,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAM5C,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY;IAIxC,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAM1C,SAAS,IAAI,eAAe;CAG7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize_strategy.js","sources":["../../../src/utils/resize/resize_strategy.ts"],"sourcesContent":["import {\n getHandleConfig,\n resolveDirection,\n computeResizeState,\n} from './handle_config.js';\nimport type {\n AxisConfig,\n ResizeHandlePosition,\n WidthResizeOrigin,\n HeightResizeOrigin,\n} from './types.js';\nimport type { Dimensions, Position, Rectangle } from '../types/dimensions.js';\n\nexport interface StartResizeParams {\n rectangle: Rectangle;\n languageDirection: string;\n}\n\nexport interface AxisResizeResult {\n newSize: number;\n totalDelta: number;\n currentDelta: number;\n}\n\nexport interface HorizontalResizeResult extends AxisResizeResult {\n origin: WidthResizeOrigin;\n}\n\nexport interface VerticalResizeResult extends AxisResizeResult {\n origin: HeightResizeOrigin;\n}\n\nexport interface ResizeResult {\n horizontal?: HorizontalResizeResult;\n vertical?: VerticalResizeResult;\n}\n\nexport interface EndResizeResult {\n horizontal?: { width: number; origin: WidthResizeOrigin };\n vertical?: { height: number; origin: HeightResizeOrigin };\n}\n\n/**\n * Single-axis resize handler. Pure — no DOM, no React.\n * Subclasses extract the correct axis from uniform args.\n */\nabstract class AxisResizeHandler {\n protected direction = 1;\n protected startSize = 0;\n protected startCoord = 0;\n protected currentSize = 0;\n\n constructor(protected axisConfig: AxisConfig) {}\n\n get origin() {\n return this.axisConfig.origin;\n }\n\n get size() {\n return this.currentSize;\n }\n\n protected abstract extractSize(dimensions: Dimensions): number;\n protected abstract extractCoord(coord: Position): number;\n abstract applyResize(coord: Position): Partial<ResizeResult>;\n abstract applyEnd(): Partial<EndResizeResult>;\n\n start(rect: Rectangle, languageDirection: string) {\n this.direction = resolveDirection(\n languageDirection,\n this.axisConfig.invert,\n this.axisConfig.disableDirection\n );\n this.startSize = this.extractSize(rect.dimensions);\n this.startCoord = this.extractCoord(rect.position);\n this.currentSize = this.startSize;\n }\n\n resize(coord: Position): AxisResizeResult {\n return computeResizeState(\n this.startSize,\n this.startCoord,\n this.extractCoord(coord),\n this.direction,\n this.currentSize\n );\n }\n\n commit(dimensions: Dimensions) {\n this.currentSize = this.extractSize(dimensions);\n }\n}\n\nclass HorizontalAxisResizeHandler extends AxisResizeHandler {\n protected extractSize(dimensions: Dimensions) {\n return dimensions.width;\n }\n\n protected extractCoord(coord: Position) {\n return coord.x;\n }\n\n applyResize(coord: Position): Partial<ResizeResult> {\n return {\n horizontal: {\n ...this.resize(coord),\n origin: this.origin as WidthResizeOrigin,\n },\n };\n }\n\n applyEnd(): Partial<EndResizeResult> {\n return {\n horizontal: {\n width: this.size,\n origin: this.origin as WidthResizeOrigin,\n },\n };\n }\n}\n\nclass VerticalAxisResizeHandler extends AxisResizeHandler {\n protected extractSize(dimensions: Dimensions) {\n return dimensions.height;\n }\n\n protected extractCoord(coord: Position) {\n return coord.y;\n }\n\n applyResize(coord: Position): Partial<ResizeResult> {\n return {\n vertical: {\n ...this.resize(coord),\n origin: this.origin as HeightResizeOrigin,\n },\n };\n }\n\n applyEnd(): Partial<EndResizeResult> {\n return {\n vertical: {\n height: this.size,\n origin: this.origin as HeightResizeOrigin,\n },\n };\n }\n}\n\n/**\n * Flow:\n * 1. adapter calls startResize() with rect/coords from DOM\n * 2. adapter calls resize() on each mousemove with coord\n * 3. adapter checks bounds (DOM), applies style, then calls commitResize()\n * 4. adapter calls endResize() on mouseup to get final state\n */\nexport class ResizeHandleStrategy {\n private handlers: AxisResizeHandler[];\n\n constructor(position: ResizeHandlePosition) {\n const config = getHandleConfig(position);\n this.handlers = [];\n if (config.horizontal) {\n this.handlers.push(new HorizontalAxisResizeHandler(config.horizontal));\n }\n if (config.vertical) {\n this.handlers.push(new VerticalAxisResizeHandler(config.vertical));\n }\n }\n\n startResize(params: StartResizeParams): void {\n for (const handler of this.handlers) {\n handler.start(params.rectangle, params.languageDirection);\n }\n }\n\n resize(position: Position): ResizeResult {\n return Object.assign({}, ...this.handlers.map(h => h.applyResize(position)));\n }\n\n commitResize(dimensions: Dimensions): void {\n for (const handler of this.handlers) {\n handler.commit(dimensions);\n }\n }\n\n endResize(): EndResizeResult {\n return Object.assign({}, ...this.handlers.map(h => h.applyEnd()));\n }\n}\n"],"names":["AxisResizeHandler","axisConfig","rect","languageDirection","resolveDirection","coord","computeResizeState","dimensions","HorizontalAxisResizeHandler","VerticalAxisResizeHandler","ResizeHandleStrategy","position","config","getHandleConfig","params","handler","h"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/resize/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAE5B,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,KAAK,GAEL,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll_away_listener.d.ts","sourceRoot":"","sources":["../../src/utils/scroll_away_listener.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IAC/C,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,6FAoC9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll_away_listener.js","sources":["../../src/utils/scroll_away_listener.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { useForkRef } from './hooks/use_fork_ref.js';\nexport interface ScrollAwayListenerProps {\n children: React.ReactElement;\n isException?: (target: HTMLElement) => boolean;\n onScrollAway: () => void;\n}\n\n/**\n * This can be used for things that need to disappear when the user scrolls somewhere other\n * than the place this component surrounds.\n *\n * Mainly this will be used for tooltips and popovers. It should be used with caution and\n * correctly. If too many things are listening for other things scrolling it can become\n * quite inefficient. Within the Popover it doesn't add it to the JSX until the popover is\n * visible. That way the scroll away isn't alway listening to scroll events on the\n * document.\n */\nexport const ScrollAwayListener = React.forwardRef<HTMLElement, ScrollAwayListenerProps>(\n function ScrollAwayListener(\n { children, onScrollAway, isException }: ScrollAwayListenerProps,\n ref\n ) {\n const nodeRef = useRef<any>(null);\n const newRef = useForkRef(ref, nodeRef, (children as any).ref);\n useEffect(() => {\n const onScroll = (event: any) => {\n let insideDOM: boolean;\n if (isException && isException(event.target)) {\n insideDOM = true;\n } else if (event.composedPath) {\n insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;\n } else {\n insideDOM =\n !document.documentElement.contains(event.target) ||\n nodeRef.current.contains(event.target);\n }\n\n if (!insideDOM) {\n onScrollAway();\n document.removeEventListener('scroll', onScroll, true);\n event.preventDefault();\n }\n };\n document.addEventListener('scroll', onScroll, true);\n return () => {\n document.removeEventListener('scroll', onScroll, true);\n };\n }, [onScrollAway, isException]);\n return React.cloneElement(children, {\n ...children.props,\n ref: newRef,\n });\n }\n);\n"],"names":["ScrollAwayListener","React","children","onScrollAway","isException","ref","nodeRef","useRef","newRef","useForkRef","useEffect","onScroll","event","insideDOM"],"mappings":";;AAkBO,MAAMA,IAAqBC,EAAM;AAAA,EACtC,SACE,EAAE,UAAAC,GAAU,cAAAC,GAAc,aAAAC,EAAA,GAC1BC,GACA;AACA,UAAMC,IAAUC,EAAY,IAAI,GAC1BC,IAASC,EAAWJ,GAAKC,GAAUJ,EAAiB,GAAG;AAC7D,WAAAQ,EAAU,MAAM;AACd,YAAMC,IAAW,CAACC,MAAe;AAC/B,YAAIC;AACJ,QAAIT,KAAeA,EAAYQ,EAAM,MAAM,IACzCC,IAAY,KACHD,EAAM,eACfC,IAAYD,EAAM,aAAA,EAAe,QAAQN,EAAQ,OAAO,IAAI,KAE5DO,IACE,CAAC,SAAS,gBAAgB,SAASD,EAAM,MAAM,KAC/CN,EAAQ,QAAQ,SAASM,EAAM,MAAM,GAGpCC,MACHV,EAAA,GACA,SAAS,oBAAoB,UAAUQ,GAAU,EAAI,GACrDC,EAAM,eAAA;AAAA,MAEV;AACA,sBAAS,iBAAiB,UAAUD,GAAU,EAAI,GAC3C,MAAM;AACX,iBAAS,oBAAoB,UAAUA,GAAU,EAAI;AAAA,MACvD;AAAA,IACF,GAAG,CAACR,GAAcC,CAAW,CAAC,GACvBH,EAAM,aAAaC,GAAU;AAAA,MAClC,GAAGA,EAAS;AAAA,MACZ,KAAKM;AAAA,IAAA,CACN;AAAA,EACH;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"variations.d.ts","sourceRoot":"","sources":["../../../src/utils/types/variations.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC"}
|