@kommo-crm/crm-react-ui-kit 1.1.1-beta.0 → 1.1.1-beta.3
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/components/Accordion/Accordion.context.d.ts +1 -1
- package/dist/components/Accordion/Accordion.context.js +4 -7
- package/dist/components/Accordion/Accordion.js +12 -14
- package/dist/components/Accordion/Accordion.props.js +1 -1
- package/dist/components/Accordion/Accordion.themes.js +2 -5
- package/dist/components/Accordion/components/AccordionMultiple/AccordionMultiple.d.ts +1 -1
- package/dist/components/Accordion/components/AccordionMultiple/AccordionMultiple.js +30 -44
- package/dist/components/Accordion/components/AccordionMultiple/AccordionMultiple.props.js +1 -1
- package/dist/components/Accordion/components/AccordionSingle/AccordionSingle.d.ts +1 -1
- package/dist/components/Accordion/components/AccordionSingle/AccordionSingle.js +30 -45
- package/dist/components/Accordion/components/AccordionSingle/AccordionSingle.props.js +1 -1
- package/dist/components/Accordion/components/Item/Item.d.ts +2 -2
- package/dist/components/Accordion/components/Item/Item.js +30 -58
- package/dist/components/Accordion/components/Item/Item.props.js +1 -1
- package/dist/components/Accordion/components/Item/Item.themes.js +8 -11
- package/dist/components/Accordion/index.js +3 -8
- package/dist/components/BaseInput/BaseInput.d.ts +2 -2
- package/dist/components/BaseInput/BaseInput.js +9 -34
- package/dist/components/BaseInput/BaseInput.props.js +1 -1
- package/dist/components/BaseInput/index.js +1 -4
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Button/Button.js +55 -91
- package/dist/components/Button/Button.props.d.ts +2 -2
- package/dist/components/Button/Button.props.js +1 -1
- package/dist/components/Button/Button.themes.js +64 -66
- package/dist/components/Button/hooks/index.js +2 -6
- package/dist/components/Button/hooks/useShowInvalidAnimation/useShowInvalidAnimation.js +17 -15
- package/dist/components/Button/hooks/useShowSuccessfulState/useShowSuccessfulState.js +17 -15
- package/dist/components/Button/index.js +2 -8
- package/dist/components/Callout/Callout.d.ts +2 -2
- package/dist/components/Callout/Callout.js +14 -32
- package/dist/components/Callout/Callout.props.js +1 -1
- package/dist/components/Callout/index.js +5 -12
- package/dist/components/Callout/themes/CalloutBase.theme.js +4 -7
- package/dist/components/Callout/themes/CalloutError.theme.js +6 -9
- package/dist/components/Callout/themes/CalloutInfo.theme.js +6 -9
- package/dist/components/Callout/themes/CalloutSuccess.theme.js +6 -9
- package/dist/components/Callout/themes/CalloutWarning.theme.js +6 -9
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +20 -55
- package/dist/components/Checkbox/Checkbox.props.d.ts +3 -3
- package/dist/components/Checkbox/Checkbox.props.js +1 -1
- package/dist/components/Checkbox/Checkbox.themes.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.themes.js +40 -44
- package/dist/components/Checkbox/index.js +2 -10
- package/dist/components/CheckboxGroup/CheckboxGroup.context.d.ts +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.context.js +4 -7
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.js +24 -52
- package/dist/components/CheckboxGroup/CheckboxGroup.props.d.ts +6 -6
- package/dist/components/CheckboxGroup/CheckboxGroup.props.js +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.themes.js +2 -5
- package/dist/components/CheckboxGroup/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/Checkbox/Checkbox.js +16 -33
- package/dist/components/CheckboxGroup/components/Checkbox/Checkbox.props.d.ts +1 -1
- package/dist/components/CheckboxGroup/components/Checkbox/Checkbox.props.js +1 -1
- package/dist/components/CheckboxGroup/components/Checkbox/index.js +1 -4
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/CheckboxSelectAll.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/CheckboxSelectAll.js +23 -34
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.context.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.context.js +4 -7
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.js +21 -40
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.props.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/ItemRootSelectAll.props.js +1 -1
- package/dist/components/CheckboxGroup/components/CheckboxSelectAll/index.js +2 -6
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.context.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.context.js +4 -7
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.js +21 -35
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.props.d.ts +2 -2
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.props.js +1 -1
- package/dist/components/CheckboxGroup/components/ItemRoot/ItemRoot.themes.js +2 -5
- package/dist/components/CheckboxGroup/components/ItemRoot/index.js +2 -6
- package/dist/components/CheckboxGroup/hooks/index.js +1 -4
- package/dist/components/CheckboxGroup/hooks/useCheckboxGroupState.d.ts +1 -1
- package/dist/components/CheckboxGroup/hooks/useCheckboxGroupState.js +57 -47
- package/dist/components/CheckboxGroup/hooks/useCheckboxGroupState.test.js +123 -0
- package/dist/components/CheckboxGroup/index.js +4 -12
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -2
- package/dist/components/ConfigProvider/ConfigProvider.js +7 -13
- package/dist/components/ConfigProvider/ConfigProvider.props.d.ts +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.props.js +1 -1
- package/dist/components/ConfigProvider/index.js +1 -4
- package/dist/components/ContentBlock/ContentBlock.d.ts +2 -2
- package/dist/components/ContentBlock/ContentBlock.js +9 -13
- package/dist/components/ContentBlock/ContentBlock.props.js +1 -1
- package/dist/components/ContentBlock/ContentBlock.themes.js +6 -9
- package/dist/components/ContentBlock/index.js +2 -6
- package/dist/components/ContextMenu/ContextMenu.context.d.ts +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.js +4 -7
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.enums.js +11 -4
- package/dist/components/ContextMenu/ContextMenu.js +63 -103
- package/dist/components/ContextMenu/ContextMenu.props.d.ts +5 -1
- package/dist/components/ContextMenu/ContextMenu.props.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.props.js +1 -1
- package/dist/components/ContextMenu/ContextMenu.types.d.ts +5 -1
- package/dist/components/ContextMenu/ContextMenu.types.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.types.js +1 -1
- package/dist/components/ContextMenu/components/Arrow/Arrow.d.ts +2 -2
- package/dist/components/ContextMenu/components/Arrow/Arrow.js +15 -37
- package/dist/components/ContextMenu/components/Arrow/Arrow.props.js +1 -1
- package/dist/components/ContextMenu/components/Arrow/index.js +1 -4
- package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.d.ts +1 -1
- package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.js +44 -57
- package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.props.d.ts +2 -2
- package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.props.js +1 -1
- package/dist/components/ContextMenu/components/CheckboxItem/index.js +1 -4
- package/dist/components/ContextMenu/components/Content/Content.d.ts +2 -2
- package/dist/components/ContextMenu/components/Content/Content.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Content/Content.enums.js +43 -4
- package/dist/components/ContextMenu/components/Content/Content.js +54 -15
- package/dist/components/ContextMenu/components/Content/Content.props.js +1 -1
- package/dist/components/ContextMenu/components/Content/Content.types.js +1 -1
- package/dist/components/ContextMenu/components/Content/Content.utils.js +10 -13
- package/dist/components/ContextMenu/components/Content/index.js +3 -8
- package/dist/components/ContextMenu/components/Group/Group.d.ts +1 -1
- package/dist/components/ContextMenu/components/Group/Group.js +4 -6
- package/dist/components/ContextMenu/components/Group/index.js +1 -4
- package/dist/components/ContextMenu/components/Item/Item.context.d.ts +1 -1
- package/dist/components/ContextMenu/components/Item/Item.context.js +4 -7
- package/dist/components/ContextMenu/components/Item/Item.d.ts +3 -3
- package/dist/components/ContextMenu/components/Item/Item.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Item/Item.js +73 -85
- package/dist/components/ContextMenu/components/Item/Item.props.d.ts +9 -3
- package/dist/components/ContextMenu/components/Item/Item.props.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Item/Item.props.js +1 -1
- package/dist/components/ContextMenu/components/Item/index.js +1 -4
- package/dist/components/ContextMenu/components/ItemIcon/ItemIcon.d.ts +1 -1
- package/dist/components/ContextMenu/components/ItemIcon/ItemIcon.js +21 -25
- package/dist/components/ContextMenu/components/ItemIcon/ItemIcon.props.js +1 -1
- package/dist/components/ContextMenu/components/ItemIcon/index.js +1 -4
- package/dist/components/ContextMenu/components/ItemIndicator/ItemIndicator.d.ts +2 -2
- package/dist/components/ContextMenu/components/ItemIndicator/ItemIndicator.js +19 -29
- package/dist/components/ContextMenu/components/ItemIndicator/ItemIndicator.props.js +1 -1
- package/dist/components/ContextMenu/components/ItemIndicator/index.js +1 -4
- package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.d.ts +2 -2
- package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.js +32 -34
- package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.props.js +1 -1
- package/dist/components/ContextMenu/components/ItemRightSlot/index.js +1 -4
- package/dist/components/ContextMenu/components/Label/Label.d.ts +2 -2
- package/dist/components/ContextMenu/components/Label/Label.js +12 -28
- package/dist/components/ContextMenu/components/Label/Label.props.d.ts +2 -2
- package/dist/components/ContextMenu/components/Label/Label.props.js +1 -1
- package/dist/components/ContextMenu/components/Label/index.js +1 -4
- package/dist/components/ContextMenu/components/Portal/Portal.d.ts +1 -1
- package/dist/components/ContextMenu/components/Portal/Portal.js +4 -6
- package/dist/components/ContextMenu/components/Portal/index.js +1 -4
- package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.js +14 -13
- package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.props.d.ts +2 -2
- package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.props.js +1 -1
- package/dist/components/ContextMenu/components/RadioGroup/index.js +1 -4
- package/dist/components/ContextMenu/components/RadioItem/RadioItem.d.ts +1 -1
- package/dist/components/ContextMenu/components/RadioItem/RadioItem.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/RadioItem/RadioItem.js +37 -43
- package/dist/components/ContextMenu/components/RadioItem/RadioItem.props.d.ts +2 -2
- package/dist/components/ContextMenu/components/RadioItem/RadioItem.props.js +1 -1
- package/dist/components/ContextMenu/components/RadioItem/index.js +1 -4
- package/dist/components/ContextMenu/components/Separator/Separator.d.ts +2 -2
- package/dist/components/ContextMenu/components/Separator/Separator.js +9 -21
- package/dist/components/ContextMenu/components/Separator/Separator.props.js +1 -1
- package/dist/components/ContextMenu/components/Separator/index.js +1 -4
- package/dist/components/ContextMenu/components/Sub/Sub.context.d.ts +1 -1
- package/dist/components/ContextMenu/components/Sub/Sub.context.js +4 -7
- package/dist/components/ContextMenu/components/Sub/Sub.d.ts +1 -1
- package/dist/components/ContextMenu/components/Sub/Sub.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Sub/Sub.js +14 -56
- package/dist/components/ContextMenu/components/Sub/Sub.props.d.ts +4 -0
- package/dist/components/ContextMenu/components/Sub/Sub.props.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Sub/Sub.props.js +1 -1
- package/dist/components/ContextMenu/components/Sub/index.js +1 -4
- package/dist/components/ContextMenu/components/SubContent/SubContent.d.ts +2 -2
- package/dist/components/ContextMenu/components/SubContent/SubContent.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/SubContent/SubContent.js +58 -71
- package/dist/components/ContextMenu/components/SubContent/SubContent.props.js +1 -1
- package/dist/components/ContextMenu/components/SubContent/index.js +1 -4
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.js +36 -90
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.props.d.ts +1 -1
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.props.js +1 -1
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.types.d.ts +1 -1
- package/dist/components/ContextMenu/components/SubRoot/SubRoot.types.js +1 -1
- package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.d.ts +2 -2
- package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.js +63 -95
- package/dist/components/ContextMenu/components/SubRoot/components/Content/index.js +1 -4
- package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.d.ts +2 -2
- package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.js +38 -49
- package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.props.js +1 -1
- package/dist/components/ContextMenu/components/SubRoot/components/Trigger/index.js +1 -4
- package/dist/components/ContextMenu/components/SubRoot/index.js +1 -4
- package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.d.ts +1 -1
- package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.js +76 -73
- package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.props.d.ts +2 -2
- package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.props.js +1 -1
- package/dist/components/ContextMenu/components/SubTrigger/index.js +1 -4
- package/dist/components/ContextMenu/components/Trigger/Trigger.d.ts +2 -2
- package/dist/components/ContextMenu/components/Trigger/Trigger.d.ts.map +1 -1
- package/dist/components/ContextMenu/components/Trigger/Trigger.js +35 -33
- package/dist/components/ContextMenu/components/Trigger/Trigger.props.js +1 -1
- package/dist/components/ContextMenu/components/Trigger/index.js +1 -4
- package/dist/components/ContextMenu/hooks/index.js +7 -16
- package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.d.ts.map +1 -1
- package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.js +198 -7
- package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.types.js +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.d.ts +3 -2
- package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.js +209 -62
- package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.types.js +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.js +42 -38
- package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.js +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.d.ts +5 -4
- package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.d.ts.map +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.js +186 -97
- package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.types.js +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.d.ts +3 -2
- package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.js +215 -68
- package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.types.js +1 -1
- package/dist/components/ContextMenu/hooks/useInheritedArrowColor/useInheritedArrowColor.js +110 -57
- package/dist/components/ContextMenu/hooks/useIsTouchDevice/useIsTouchDevice.js +26 -15
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.d.ts +11 -10
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.d.ts.map +1 -1
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.js +20 -19
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.types.d.ts +3 -0
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.types.d.ts.map +1 -0
- package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.types.js +1 -0
- package/dist/components/ContextMenu/index.js +3 -10
- package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.d.ts +1 -1
- package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.js +9 -6
- package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.props.js +1 -1
- package/dist/components/ContextMenu/providers/LevelProvider/index.js +1 -5
- package/dist/components/ContextMenu/providers/index.js +1 -5
- package/dist/components/ContextMenu/utils/contextMenuBus/contextMenuBus.js +12 -19
- package/dist/components/ContextMenu/utils/contextMenuBus/contextMenuBus.types.js +1 -1
- package/dist/components/ContextMenu/utils/focusParentItem/focusParentItem.js +8 -11
- package/dist/components/ContextMenu/utils/hasItemIcon/hasItemIcon.d.ts +1 -1
- package/dist/components/ContextMenu/utils/hasItemIcon/hasItemIcon.js +8 -8
- package/dist/components/ContextMenu/utils/index.js +4 -10
- package/dist/components/ContextMenu/utils/isFirstElement/isFirstElement.d.ts +1 -1
- package/dist/components/ContextMenu/utils/isFirstElement/isFirstElement.js +13 -9
- package/dist/components/FilterTabs/FilterTabs.context.d.ts +2 -2
- package/dist/components/FilterTabs/FilterTabs.context.js +4 -7
- package/dist/components/FilterTabs/FilterTabs.d.ts +1 -1
- package/dist/components/FilterTabs/FilterTabs.js +52 -61
- package/dist/components/FilterTabs/FilterTabs.props.d.ts +5 -5
- package/dist/components/FilterTabs/FilterTabs.props.js +1 -1
- package/dist/components/FilterTabs/FilterTabs.themes.js +2 -5
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.context.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.context.js +4 -7
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.js +26 -37
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.props.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.props.js +1 -1
- package/dist/components/FilterTabs/components/ItemRoot/ItemRoot.themes.js +2 -5
- package/dist/components/FilterTabs/components/ItemRoot/index.js +2 -6
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.context.d.ts +1 -1
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.context.js +4 -7
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.js +21 -33
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.props.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRootReset/ItemRootReset.props.js +1 -1
- package/dist/components/FilterTabs/components/ItemRootReset/TabReset.d.ts +2 -2
- package/dist/components/FilterTabs/components/ItemRootReset/TabReset.js +17 -27
- package/dist/components/FilterTabs/components/ItemRootReset/index.js +2 -6
- package/dist/components/FilterTabs/components/Tab/Tab.d.ts +2 -2
- package/dist/components/FilterTabs/components/Tab/Tab.js +20 -34
- package/dist/components/FilterTabs/components/Tab/Tab.props.d.ts +1 -1
- package/dist/components/FilterTabs/components/Tab/Tab.props.js +1 -1
- package/dist/components/FilterTabs/components/Tab/Tab.themes.js +13 -16
- package/dist/components/FilterTabs/components/Tab/index.js +2 -6
- package/dist/components/FilterTabs/index.js +4 -14
- package/dist/components/InlineInput/InlineInput.d.ts +2 -2
- package/dist/components/InlineInput/InlineInput.js +23 -63
- package/dist/components/InlineInput/InlineInput.props.d.ts +2 -2
- package/dist/components/InlineInput/InlineInput.props.js +1 -1
- package/dist/components/InlineInput/InlineInput.themes.d.ts +1 -1
- package/dist/components/InlineInput/InlineInput.themes.js +39 -42
- package/dist/components/InlineInput/index.js +2 -7
- package/dist/components/Input/Input.d.ts +2 -2
- package/dist/components/Input/Input.js +25 -76
- package/dist/components/Input/Input.props.d.ts +2 -2
- package/dist/components/Input/Input.props.js +1 -1
- package/dist/components/Input/Input.themes.d.ts +1 -1
- package/dist/components/Input/Input.themes.js +56 -59
- package/dist/components/Input/index.js +2 -7
- package/dist/components/Label/Label.d.ts +1 -1
- package/dist/components/Label/Label.js +30 -60
- package/dist/components/Label/Label.props.d.ts +1 -1
- package/dist/components/Label/Label.props.js +1 -1
- package/dist/components/Label/Label.theme.js +6 -9
- package/dist/components/Label/index.js +2 -7
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.js +9 -13
- package/dist/components/Link/Link.props.js +1 -1
- package/dist/components/Link/Link.themes.js +9 -12
- package/dist/components/Link/index.js +2 -6
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/List.js +24 -10
- package/dist/components/List/List.props.js +1 -1
- package/dist/components/List/List.theme.js +15 -18
- package/dist/components/List/index.js +2 -6
- package/dist/components/Portal/Portal.d.ts +2 -2
- package/dist/components/Portal/Portal.js +8 -10
- package/dist/components/Portal/Portal.props.js +1 -1
- package/dist/components/Portal/index.js +1 -4
- package/dist/components/RadioGroup/RadioGroup.context.d.ts +2 -2
- package/dist/components/RadioGroup/RadioGroup.context.js +4 -7
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +22 -55
- package/dist/components/RadioGroup/RadioGroup.props.d.ts +5 -5
- package/dist/components/RadioGroup/RadioGroup.props.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.themes.js +2 -5
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.context.d.ts +2 -2
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.context.js +4 -7
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.d.ts +2 -2
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.js +20 -33
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.props.d.ts +2 -2
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.props.js +1 -1
- package/dist/components/RadioGroup/components/ItemRoot/ItemRoot.themes.js +2 -5
- package/dist/components/RadioGroup/components/ItemRoot/index.js +2 -6
- package/dist/components/RadioGroup/components/Radio/Radio.d.ts +2 -2
- package/dist/components/RadioGroup/components/Radio/Radio.js +29 -48
- package/dist/components/RadioGroup/components/Radio/Radio.props.d.ts +1 -1
- package/dist/components/RadioGroup/components/Radio/Radio.props.js +1 -1
- package/dist/components/RadioGroup/components/Radio/Radio.themes.js +15 -18
- package/dist/components/RadioGroup/components/Radio/index.js +2 -6
- package/dist/components/RadioGroup/index.js +4 -14
- package/dist/components/Select/Select.context.d.ts +1 -1
- package/dist/components/Select/Select.context.js +4 -7
- package/dist/components/Select/Select.js +52 -77
- package/dist/components/Select/Select.props.d.ts +1 -1
- package/dist/components/Select/Select.props.js +1 -1
- package/dist/components/Select/Select.theme.js +3 -6
- package/dist/components/Select/Select.types.js +1 -1
- package/dist/components/Select/components/Arrow/Arrow.d.ts +1 -1
- package/dist/components/Select/components/Arrow/Arrow.js +13 -18
- package/dist/components/Select/components/Arrow/Arrow.props.js +1 -1
- package/dist/components/Select/components/Arrow/Arrow.theme.js +4 -7
- package/dist/components/Select/components/Arrow/index.js +1 -4
- package/dist/components/Select/components/Button/Button.d.ts +2 -2
- package/dist/components/Select/components/Button/Button.js +25 -27
- package/dist/components/Select/components/Button/index.js +1 -4
- package/dist/components/Select/components/Icon/Icon.d.ts +1 -1
- package/dist/components/Select/components/Icon/Icon.js +10 -13
- package/dist/components/Select/components/Icon/Icon.props.js +1 -1
- package/dist/components/Select/components/Icon/Icon.theme.js +4 -7
- package/dist/components/Select/components/Icon/index.js +1 -4
- package/dist/components/Select/components/Item/Item.d.ts +1 -1
- package/dist/components/Select/components/Item/Item.js +25 -45
- package/dist/components/Select/components/Item/Item.props.js +1 -1
- package/dist/components/Select/components/Item/Item.theme.js +9 -12
- package/dist/components/Select/components/Item/index.js +2 -6
- package/dist/components/Select/components/List/List.d.ts +2 -2
- package/dist/components/Select/components/List/List.js +56 -64
- package/dist/components/Select/components/List/List.props.d.ts +1 -1
- package/dist/components/Select/components/List/List.props.js +1 -1
- package/dist/components/Select/components/List/index.js +1 -4
- package/dist/components/Select/components/Option/Option.d.ts +1 -1
- package/dist/components/Select/components/Option/Option.js +12 -15
- package/dist/components/Select/components/Option/Option.props.js +1 -1
- package/dist/components/Select/components/Option/Option.theme.d.ts +1 -1
- package/dist/components/Select/components/Option/Option.theme.js +4 -8
- package/dist/components/Select/components/Value/Value.d.ts +1 -1
- package/dist/components/Select/components/Value/Value.js +21 -15
- package/dist/components/Select/components/Value/Value.props.js +1 -1
- package/dist/components/Select/index.js +7 -20
- package/dist/components/SelectButton/SelectButton.d.ts +1 -1
- package/dist/components/SelectButton/SelectButton.js +24 -48
- package/dist/components/SelectButton/SelectButton.props.js +1 -1
- package/dist/components/SelectButton/SelectButton.theme.js +26 -28
- package/dist/components/SelectButton/index.js +2 -7
- package/dist/components/Spinner/Spinner.d.ts +1 -1
- package/dist/components/Spinner/Spinner.js +11 -28
- package/dist/components/Spinner/Spinner.props.js +1 -1
- package/dist/components/Spinner/Spinner.themes.js +5 -8
- package/dist/components/Spinner/index.js +2 -6
- package/dist/components/Switcher/Switcher.js +14 -35
- package/dist/components/Switcher/Switcher.props.d.ts +3 -3
- package/dist/components/Switcher/Switcher.props.js +1 -1
- package/dist/components/Switcher/Switcher.themes.js +13 -16
- package/dist/components/Switcher/index.js +2 -6
- package/dist/components/Text/Text.d.ts +2 -2
- package/dist/components/Text/Text.js +32 -58
- package/dist/components/Text/Text.props.d.ts +1 -1
- package/dist/components/Text/Text.props.js +1 -1
- package/dist/components/Text/Text.themes.js +30 -33
- package/dist/components/Text/index.js +2 -9
- package/dist/components/TextArea/TextArea.d.ts +2 -2
- package/dist/components/TextArea/TextArea.js +27 -74
- package/dist/components/TextArea/TextArea.props.js +1 -1
- package/dist/components/TextArea/TextArea.themes.js +32 -34
- package/dist/components/TextArea/hooks/index.js +1 -4
- package/dist/components/TextArea/hooks/useResizeTextArea.d.ts +1 -1
- package/dist/components/TextArea/hooks/useResizeTextArea.js +23 -15
- package/dist/components/TextArea/index.js +2 -7
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +2 -2
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +22 -27
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.props.d.ts +1 -1
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.props.js +1 -1
- package/dist/components/VisuallyHiddenInput/index.js +1 -4
- package/dist/hooks/useThemeClassName/index.js +1 -4
- package/dist/hooks/useThemeClassName/useThemeClassName.d.ts +1 -1
- package/dist/hooks/useThemeClassName/useThemeClassName.js +27 -21
- package/dist/index.js +4 -4
- package/dist/lib/appearance/index.js +13 -7
- package/dist/lib/platform/index.js +15 -4
- package/dist/lib/react/createComponentContext/createComponentContext.d.ts +1 -1
- package/dist/lib/react/createComponentContext/createComponentContext.js +16 -18
- package/dist/lib/react/createComponentContext/createComponentContext.props.js +1 -1
- package/dist/lib/react/createComponentContext/index.js +1 -4
- package/dist/lib/react/index.js +1 -4
- package/dist/lib/theme/index.js +1 -1
- package/dist/lib/theme/type.js +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.js +22 -12
- package/dist/stylesheets/utils/BaseClasses/BaseClasses.js +2 -6
- package/dist/stylesheets/utils/BaseClasses/index.js +1 -4
- package/dist/utils/index.js +2 -6
- package/dist/utils/noop/noop.js +2 -5
- package/dist/utils/omit/omit.js +6 -8
- package/package.json +2 -2
- package/dist/Accordion.module-0NEfElzm.mjs +0 -6
- package/dist/ItemRoot.module-DaaOqYPx.mjs +0 -7
- package/dist/ItemRoot.module-fiKLca_h.mjs +0 -7
- package/dist/List-AX0nB9Ji.mjs +0 -141
- package/dist/Tab.module-Bh4dewE1.mjs +0 -7
- package/dist/assets/Accordion.css +0 -1
- package/dist/assets/Arrow.css +0 -1
- package/dist/assets/Arrow2.css +0 -1
- package/dist/assets/BaseClasses.css +0 -1
- package/dist/assets/BaseInput.css +0 -1
- package/dist/assets/Button.css +0 -1
- package/dist/assets/Callout.css +0 -1
- package/dist/assets/Checkbox.css +0 -1
- package/dist/assets/CheckboxGroup.css +0 -1
- package/dist/assets/CheckboxItem.css +0 -1
- package/dist/assets/ContentBlock.css +0 -1
- package/dist/assets/FilterTabs.css +0 -1
- package/dist/assets/Icon.css +0 -1
- package/dist/assets/InlineInput.css +0 -1
- package/dist/assets/Input.css +0 -1
- package/dist/assets/Item.css +0 -1
- package/dist/assets/Item2.css +0 -1
- package/dist/assets/Item3.css +0 -1
- package/dist/assets/ItemIcon.css +0 -1
- package/dist/assets/ItemIndicator.css +0 -1
- package/dist/assets/ItemRightSlot.css +0 -1
- package/dist/assets/ItemRoot.css +0 -1
- package/dist/assets/ItemRoot2.css +0 -1
- package/dist/assets/ItemRoot3.css +0 -1
- package/dist/assets/Label.css +0 -1
- package/dist/assets/Label2.css +0 -1
- package/dist/assets/Link.css +0 -1
- package/dist/assets/List.css +0 -1
- package/dist/assets/Option.css +0 -1
- package/dist/assets/Radio.css +0 -1
- package/dist/assets/RadioGroup.css +0 -1
- package/dist/assets/RadioItem.css +0 -1
- package/dist/assets/Select.css +0 -1
- package/dist/assets/SelectButton.css +0 -1
- package/dist/assets/Separator.css +0 -1
- package/dist/assets/Spinner.css +0 -1
- package/dist/assets/SubContent.css +0 -1
- package/dist/assets/SubTrigger.css +0 -1
- package/dist/assets/Switcher.css +0 -1
- package/dist/assets/Tab.css +0 -1
- package/dist/assets/Text.css +0 -1
- package/dist/assets/TextArea.css +0 -1
- package/dist/assets/VisuallyHiddenInput.css +0 -1
- package/dist/assets/icons.css +0 -1
- package/dist/assets/theme.css +0 -1
- package/dist/assets/useContentPositioning.css +0 -1
- package/dist/fonts/PTS55F_W.woff +0 -0
- package/dist/fonts/PTS56F_W.woff +0 -0
- package/dist/fonts/PTS75F_W.woff +0 -0
- package/dist/fonts/PTS76F_W.woff +0 -0
- package/dist/fonts/ptsans.css +0 -34
- package/dist/img/logoDark.svg +0 -17
- package/dist/img/logoLight.svg +0 -17
- package/dist/index-BA3njR2k.mjs +0 -3636
- package/dist/index-L8X2o7IH.mjs +0 -44
- package/dist/react-spring_web.modern-Dnq1lqN5.mjs +0 -2144
- package/dist/useContentPositioning-BIVWgixU.mjs +0 -174
|
@@ -1,7 +1,198 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { useLayoutEffect, useState } from 'react';
|
|
2
|
+
import { Direction } from '../../components/Content';
|
|
3
|
+
export function useContentPositioning({ direction, alignOffset = 0, disableAutoPositioning, triggerRef, contentRef, collisionBoundary, children, }) {
|
|
4
|
+
const [align, setAlign] = useState(direction === Direction.UP_RIGHT ||
|
|
5
|
+
direction === Direction.DOWN_RIGHT ||
|
|
6
|
+
direction === Direction.RIGHT_UP ||
|
|
7
|
+
direction === Direction.RIGHT_DOWN
|
|
8
|
+
? 'start'
|
|
9
|
+
: 'end');
|
|
10
|
+
const [labelOffset, setLabelOffset] = useState(alignOffset);
|
|
11
|
+
const [isPositioned, setIsPositioned] = useState(false);
|
|
12
|
+
/**
|
|
13
|
+
* Calculates the label offset based on the direction and the trigger height.
|
|
14
|
+
*/
|
|
15
|
+
useLayoutEffect(() => {
|
|
16
|
+
const contentEl = contentRef?.current;
|
|
17
|
+
if (!contentEl ||
|
|
18
|
+
disableAutoPositioning ||
|
|
19
|
+
[
|
|
20
|
+
Direction.DOWN_LEFT,
|
|
21
|
+
Direction.DOWN_RIGHT,
|
|
22
|
+
Direction.UP_LEFT,
|
|
23
|
+
Direction.UP_RIGHT,
|
|
24
|
+
].includes(direction)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const childrenCollection = contentEl.children;
|
|
28
|
+
if (!childrenCollection || childrenCollection.length === 0) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const label = contentEl.firstElementChild;
|
|
32
|
+
let item = null;
|
|
33
|
+
if (align === 'start') {
|
|
34
|
+
const second = childrenCollection.item(1);
|
|
35
|
+
if (second instanceof Element && second.hasAttribute('data-separator')) {
|
|
36
|
+
const third = childrenCollection.item(2);
|
|
37
|
+
if (third instanceof Element) {
|
|
38
|
+
item = third;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
item = null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else if (second instanceof Element) {
|
|
45
|
+
item = second;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const lastIndex = childrenCollection.length - 1;
|
|
50
|
+
const last = childrenCollection.item(lastIndex);
|
|
51
|
+
if (last instanceof Element && last.hasAttribute('data-arrow')) {
|
|
52
|
+
const prev = childrenCollection.item(lastIndex - 1);
|
|
53
|
+
if (prev instanceof Element) {
|
|
54
|
+
item = prev;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
item = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else if (last instanceof Element) {
|
|
61
|
+
item = last;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const trigger = triggerRef?.current;
|
|
65
|
+
if (!trigger || !item) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const itemRect = item.getBoundingClientRect();
|
|
69
|
+
const triggerRect = trigger.getBoundingClientRect();
|
|
70
|
+
const itemHeight = itemRect.height;
|
|
71
|
+
const triggerHeight = triggerRect.height;
|
|
72
|
+
const dynamicOffset = (triggerHeight - itemHeight) / 2;
|
|
73
|
+
if (align === 'start') {
|
|
74
|
+
if (label instanceof Element && label.hasAttribute('data-label')) {
|
|
75
|
+
const labelHeight = label.getBoundingClientRect().height;
|
|
76
|
+
setLabelOffset(alignOffset - labelHeight + dynamicOffset);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
setLabelOffset(alignOffset + dynamicOffset - 1);
|
|
81
|
+
}
|
|
82
|
+
}, [
|
|
83
|
+
children,
|
|
84
|
+
direction,
|
|
85
|
+
contentRef,
|
|
86
|
+
triggerRef,
|
|
87
|
+
align,
|
|
88
|
+
alignOffset,
|
|
89
|
+
disableAutoPositioning,
|
|
90
|
+
]);
|
|
91
|
+
/**
|
|
92
|
+
* Positions the content based on the direction and the trigger height.
|
|
93
|
+
*/
|
|
94
|
+
useLayoutEffect(() => {
|
|
95
|
+
if (disableAutoPositioning || !triggerRef?.current) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
let ro = null;
|
|
99
|
+
let mounted = true;
|
|
100
|
+
const boundaryEl = (collisionBoundary instanceof Element && collisionBoundary) ||
|
|
101
|
+
document.documentElement;
|
|
102
|
+
const measureAndAdjust = () => {
|
|
103
|
+
if (!mounted) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const triggerEl = triggerRef.current;
|
|
107
|
+
const el = contentRef.current;
|
|
108
|
+
if (!triggerEl || !el) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const triggerRect = triggerEl.getBoundingClientRect();
|
|
112
|
+
const contentRect = el.getBoundingClientRect();
|
|
113
|
+
if (contentRect.width <= 0) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const boundaryRect = boundaryEl.getBoundingClientRect();
|
|
117
|
+
const fits = {
|
|
118
|
+
right: boundaryRect.right - triggerRect.right >= contentRect.width,
|
|
119
|
+
left: triggerRect.left - boundaryRect.left >= contentRect.width,
|
|
120
|
+
bottom: boundaryRect.bottom - triggerRect.bottom >= contentRect.height,
|
|
121
|
+
top: triggerRect.top - boundaryRect.top >= contentRect.height,
|
|
122
|
+
};
|
|
123
|
+
let alignCandidate = 'start';
|
|
124
|
+
switch (direction) {
|
|
125
|
+
case Direction.UP_RIGHT:
|
|
126
|
+
case Direction.DOWN_RIGHT: {
|
|
127
|
+
if (fits.right) {
|
|
128
|
+
alignCandidate = 'start';
|
|
129
|
+
}
|
|
130
|
+
else if (fits.left) {
|
|
131
|
+
alignCandidate = 'end';
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
alignCandidate = 'start';
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case Direction.UP_LEFT:
|
|
139
|
+
case Direction.DOWN_LEFT: {
|
|
140
|
+
if (fits.left) {
|
|
141
|
+
alignCandidate = 'end';
|
|
142
|
+
}
|
|
143
|
+
else if (fits.right) {
|
|
144
|
+
alignCandidate = 'start';
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
alignCandidate = 'end';
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
case Direction.RIGHT_DOWN:
|
|
152
|
+
case Direction.LEFT_DOWN: {
|
|
153
|
+
if (fits.bottom) {
|
|
154
|
+
alignCandidate = 'start';
|
|
155
|
+
}
|
|
156
|
+
else if (fits.top) {
|
|
157
|
+
alignCandidate = 'end';
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
alignCandidate = 'start';
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
case Direction.RIGHT_UP:
|
|
165
|
+
case Direction.LEFT_UP: {
|
|
166
|
+
if (fits.top) {
|
|
167
|
+
alignCandidate = 'end';
|
|
168
|
+
}
|
|
169
|
+
else if (fits.bottom) {
|
|
170
|
+
alignCandidate = 'start';
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
alignCandidate = 'end';
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
setAlign(alignCandidate);
|
|
179
|
+
setIsPositioned(true);
|
|
180
|
+
};
|
|
181
|
+
requestAnimationFrame(measureAndAdjust);
|
|
182
|
+
if (contentRef.current && typeof ResizeObserver !== 'undefined') {
|
|
183
|
+
ro = new ResizeObserver(measureAndAdjust);
|
|
184
|
+
ro.observe(contentRef.current);
|
|
185
|
+
}
|
|
186
|
+
return () => {
|
|
187
|
+
mounted = false;
|
|
188
|
+
ro?.disconnect();
|
|
189
|
+
};
|
|
190
|
+
}, [
|
|
191
|
+
direction,
|
|
192
|
+
disableAutoPositioning,
|
|
193
|
+
triggerRef,
|
|
194
|
+
contentRef,
|
|
195
|
+
collisionBoundary,
|
|
196
|
+
]);
|
|
197
|
+
return { align, labelOffset, isPositioned };
|
|
198
|
+
}
|
package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
@@ -4,9 +4,10 @@ export declare const useContextMenu: ({ mode: rootMode, defaultOpen, animationDu
|
|
|
4
4
|
open: boolean;
|
|
5
5
|
mode: ContextMenuMode;
|
|
6
6
|
onOpenChange: (value: boolean) => void;
|
|
7
|
+
onOpenByKeyboard: (value: boolean) => void;
|
|
7
8
|
inheritedArrowColor: string | null;
|
|
8
|
-
triggerRef: import(
|
|
9
|
-
contentRef: import(
|
|
9
|
+
triggerRef: import("react").RefObject<HTMLButtonElement>;
|
|
10
|
+
contentRef: import("react").RefObject<HTMLDivElement>;
|
|
10
11
|
animatedOpen: boolean;
|
|
11
12
|
animationDuration: number;
|
|
12
13
|
hoverCloseDelay: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContextMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenu/useContextMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,cAAc,iFAMxB,qBAAqB;;;
|
|
1
|
+
{"version":3,"file":"useContextMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenu/useContextMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,cAAc,iFAMxB,qBAAqB;;;0BA8EW,OAAO;8BA2BP,OAAO;;;;;;;;;;;;CAmIzC,CAAC"}
|
|
@@ -1,63 +1,210 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
1
|
+
import { useEffect, useId, useRef, useState } from 'react';
|
|
2
|
+
import { useInheritedArrowColor, useIsTouchDevice } from '..';
|
|
3
|
+
import { ContextMenuMode } from '../../ContextMenu.enums';
|
|
4
|
+
import { contextMenuBus } from '../../utils';
|
|
5
|
+
export const useContextMenu = ({ mode: rootMode, defaultOpen, animationDuration, hoverCloseDelay, onOpen, }) => {
|
|
6
|
+
const id = useId();
|
|
7
|
+
const [open, setOpen] = useState(defaultOpen || false);
|
|
8
|
+
const [animatedOpen, setAnimatedOpen] = useState(false);
|
|
9
|
+
const [isInsideContent, setIsInsideContent] = useState(false);
|
|
10
|
+
const [openedByKeyboard, setOpenedByKeyboard] = useState(false);
|
|
11
|
+
const [temporaryHoverClose, setTemporaryHoverClose] = useState(false);
|
|
12
|
+
const triggerRef = useRef(null);
|
|
13
|
+
const contentRef = useRef(null);
|
|
14
|
+
const hoverTimeoutRef = useRef(null);
|
|
15
|
+
const closeTimerRef = useRef(null);
|
|
16
|
+
const isTouchDevice = useIsTouchDevice();
|
|
17
|
+
/**
|
|
18
|
+
* The mode of the ContextMenu.Root.
|
|
19
|
+
*/
|
|
20
|
+
const mode = isTouchDevice ? ContextMenuMode.CLICK : rootMode;
|
|
21
|
+
/**
|
|
22
|
+
* Clears the timers.
|
|
23
|
+
*/
|
|
24
|
+
const clearTimers = () => {
|
|
25
|
+
if (hoverTimeoutRef.current) {
|
|
26
|
+
clearTimeout(hoverTimeoutRef.current);
|
|
27
|
+
hoverTimeoutRef.current = null;
|
|
28
|
+
}
|
|
29
|
+
if (closeTimerRef.current) {
|
|
30
|
+
clearTimeout(closeTimerRef.current);
|
|
31
|
+
closeTimerRef.current = null;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Closes the menu.
|
|
36
|
+
*/
|
|
37
|
+
const handleClose = () => {
|
|
38
|
+
setOpen(false);
|
|
39
|
+
onOpen?.(false);
|
|
40
|
+
setIsInsideContent(false);
|
|
41
|
+
setTemporaryHoverClose(false);
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Requests the close of the menu.
|
|
45
|
+
*/
|
|
46
|
+
const requestClose = () => {
|
|
47
|
+
clearTimers();
|
|
48
|
+
if (mode === ContextMenuMode.HOVER || temporaryHoverClose) {
|
|
49
|
+
setAnimatedOpen(false);
|
|
50
|
+
closeTimerRef.current = setTimeout(() => {
|
|
51
|
+
handleClose();
|
|
52
|
+
}, animationDuration);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
handleClose();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Closes the menu immediately.
|
|
60
|
+
*/
|
|
61
|
+
const closeMenuImmediately = () => {
|
|
62
|
+
clearTimers();
|
|
63
|
+
setAnimatedOpen(false);
|
|
64
|
+
setOpen(false);
|
|
65
|
+
onOpen?.(false);
|
|
66
|
+
setIsInsideContent(false);
|
|
67
|
+
setTemporaryHoverClose(false);
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Handles the open state change.
|
|
71
|
+
*/
|
|
72
|
+
const handleOpenChange = (value) => {
|
|
73
|
+
if (mode === ContextMenuMode.CLICK && defaultOpen !== undefined) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (value) {
|
|
77
|
+
if (closeTimerRef.current) {
|
|
78
|
+
clearTimeout(closeTimerRef.current);
|
|
79
|
+
closeTimerRef.current = null;
|
|
80
|
+
}
|
|
81
|
+
if (mode === ContextMenuMode.HOVER || temporaryHoverClose) {
|
|
82
|
+
setAnimatedOpen(true);
|
|
83
|
+
}
|
|
84
|
+
setOpen(true);
|
|
85
|
+
onOpen?.(true);
|
|
86
|
+
setTimeout(() => contextMenuBus.emit(id), 0);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
requestClose();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* The callback function to be called when the menu is opened by keyboard.
|
|
94
|
+
*/
|
|
95
|
+
const onOpenByKeyboard = (value) => {
|
|
96
|
+
setOpenedByKeyboard(value);
|
|
97
|
+
handleOpenChange(value);
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Handles the mouse enter event.
|
|
101
|
+
*/
|
|
102
|
+
const handleMouseEnter = () => {
|
|
103
|
+
if (mode !== ContextMenuMode.HOVER && !temporaryHoverClose) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
setOpenedByKeyboard(false);
|
|
107
|
+
if (closeTimerRef.current) {
|
|
108
|
+
clearTimeout(closeTimerRef.current);
|
|
109
|
+
closeTimerRef.current = null;
|
|
110
|
+
setAnimatedOpen(true);
|
|
111
|
+
}
|
|
112
|
+
if (open) {
|
|
113
|
+
setIsInsideContent(true);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
if (hoverTimeoutRef.current) {
|
|
117
|
+
clearTimeout(hoverTimeoutRef.current);
|
|
118
|
+
hoverTimeoutRef.current = null;
|
|
119
|
+
}
|
|
120
|
+
setAnimatedOpen(true);
|
|
121
|
+
setOpen(true);
|
|
122
|
+
onOpen?.(true);
|
|
123
|
+
setIsInsideContent(true);
|
|
124
|
+
setTimeout(() => contextMenuBus.emit(id), 0);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Handles the mouse leave event.
|
|
129
|
+
*/
|
|
130
|
+
const handleMouseLeave = () => {
|
|
131
|
+
if (mode !== ContextMenuMode.HOVER && !temporaryHoverClose) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
setOpenedByKeyboard(false);
|
|
135
|
+
if (hoverTimeoutRef.current) {
|
|
136
|
+
clearTimeout(hoverTimeoutRef.current);
|
|
137
|
+
hoverTimeoutRef.current = null;
|
|
138
|
+
}
|
|
139
|
+
setIsInsideContent(false);
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Enables the temporary hover close.
|
|
143
|
+
*/
|
|
144
|
+
const enableTemporaryHoverClose = () => {
|
|
145
|
+
setAnimatedOpen(true);
|
|
146
|
+
setIsInsideContent(true);
|
|
147
|
+
setTemporaryHoverClose(true);
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Closes the menu when the context menu bus emits an event.
|
|
151
|
+
*/
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
const unsubscribe = contextMenuBus.subscribe((openedId) => {
|
|
154
|
+
if (openedId !== id) {
|
|
155
|
+
closeMenuImmediately();
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return unsubscribe;
|
|
159
|
+
}, [id]);
|
|
160
|
+
/**
|
|
161
|
+
* Handles the hover close delay.
|
|
162
|
+
*/
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
if (!open || (mode !== ContextMenuMode.HOVER && !temporaryHoverClose)) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (openedByKeyboard) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (isInsideContent) {
|
|
171
|
+
if (hoverTimeoutRef.current) {
|
|
172
|
+
clearTimeout(hoverTimeoutRef.current);
|
|
173
|
+
hoverTimeoutRef.current = null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else if (!hoverTimeoutRef.current) {
|
|
177
|
+
hoverTimeoutRef.current = setTimeout(() => {
|
|
178
|
+
requestClose();
|
|
179
|
+
}, hoverCloseDelay);
|
|
180
|
+
}
|
|
181
|
+
}, [
|
|
182
|
+
mode,
|
|
183
|
+
open,
|
|
184
|
+
isInsideContent,
|
|
185
|
+
temporaryHoverClose,
|
|
186
|
+
hoverCloseDelay,
|
|
187
|
+
openedByKeyboard,
|
|
188
|
+
]);
|
|
189
|
+
/**
|
|
190
|
+
* Updates the inherited arrow color when the menu is open.
|
|
191
|
+
*/
|
|
192
|
+
const inheritedArrowColor = useInheritedArrowColor(open, contentRef);
|
|
193
|
+
return {
|
|
194
|
+
open,
|
|
195
|
+
mode,
|
|
196
|
+
onOpenChange: handleOpenChange,
|
|
197
|
+
onOpenByKeyboard,
|
|
198
|
+
inheritedArrowColor,
|
|
199
|
+
triggerRef,
|
|
200
|
+
contentRef,
|
|
201
|
+
animatedOpen,
|
|
202
|
+
animationDuration,
|
|
203
|
+
hoverCloseDelay,
|
|
204
|
+
temporaryHoverClose,
|
|
205
|
+
closeMenuImmediately,
|
|
206
|
+
onMouseEnter: handleMouseEnter,
|
|
207
|
+
onMouseLeave: handleMouseLeave,
|
|
208
|
+
enableTemporaryHoverClose,
|
|
209
|
+
};
|
|
63
210
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.js
CHANGED
|
@@ -1,40 +1,44 @@
|
|
|
1
|
-
import { useState
|
|
2
|
-
import { useLevelContext
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onMouseEnter: void 0,
|
|
16
|
-
onBlur: void 0,
|
|
17
|
-
onMouseLeave: void 0,
|
|
18
|
-
onKeyDown: void 0
|
|
19
|
-
} : {
|
|
20
|
-
dataHighlighted: n ? "" : void 0,
|
|
21
|
-
onFocus: () => {
|
|
22
|
-
i || c(r), o(!e);
|
|
23
|
-
},
|
|
24
|
-
onMouseEnter: (t) => {
|
|
25
|
-
i || c(r), o(!e), d == null || d(t);
|
|
26
|
-
},
|
|
27
|
-
onBlur: () => {
|
|
28
|
-
o(!1);
|
|
29
|
-
},
|
|
30
|
-
onMouseLeave: (t) => {
|
|
31
|
-
o(!1), f == null || f(t);
|
|
32
|
-
},
|
|
33
|
-
onKeyDown: (t) => {
|
|
34
|
-
i && t.key === "ArrowLeft" && o(!1);
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { useLevelContext } from '../../providers/LevelProvider';
|
|
3
|
+
export const useContextMenuItemFocus = ({ displayName, id, isDisabled, hasSubmenu, onMouseEnter, onMouseLeave, }) => {
|
|
4
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
5
|
+
const { setActiveItemId } = useLevelContext(displayName);
|
|
6
|
+
if (isDisabled) {
|
|
7
|
+
return {
|
|
8
|
+
dataHighlighted: undefined,
|
|
9
|
+
onFocus: undefined,
|
|
10
|
+
onMouseEnter: undefined,
|
|
11
|
+
onBlur: undefined,
|
|
12
|
+
onMouseLeave: undefined,
|
|
13
|
+
onKeyDown: undefined,
|
|
14
|
+
};
|
|
35
15
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
16
|
+
return {
|
|
17
|
+
dataHighlighted: isFocused ? '' : undefined,
|
|
18
|
+
onFocus: () => {
|
|
19
|
+
if (!hasSubmenu) {
|
|
20
|
+
setActiveItemId(id);
|
|
21
|
+
}
|
|
22
|
+
setIsFocused(!isDisabled);
|
|
23
|
+
},
|
|
24
|
+
onMouseEnter: (e) => {
|
|
25
|
+
if (!hasSubmenu) {
|
|
26
|
+
setActiveItemId(id);
|
|
27
|
+
}
|
|
28
|
+
setIsFocused(!isDisabled);
|
|
29
|
+
onMouseEnter?.(e);
|
|
30
|
+
},
|
|
31
|
+
onBlur: () => {
|
|
32
|
+
setIsFocused(false);
|
|
33
|
+
},
|
|
34
|
+
onMouseLeave: (e) => {
|
|
35
|
+
setIsFocused(false);
|
|
36
|
+
onMouseLeave?.(e);
|
|
37
|
+
},
|
|
38
|
+
onKeyDown: (e) => {
|
|
39
|
+
if (hasSubmenu && e.key === 'ArrowLeft') {
|
|
40
|
+
setIsFocused(false);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
};
|
|
40
44
|
};
|
package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { UseContextMenuSubOptions } from './useContextMenuSub.types';
|
|
2
2
|
export declare function useContextMenuSub({ displayName, mode: initialMode, defaultOpen, }: UseContextMenuSubOptions): {
|
|
3
3
|
open: boolean;
|
|
4
|
-
setOpen: import(
|
|
4
|
+
setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
5
5
|
animatedOpen: boolean;
|
|
6
6
|
startAnimation: () => void;
|
|
7
|
-
handleMouseEnter: (
|
|
8
|
-
handleMouseLeave: (
|
|
9
|
-
handleOpenChange: (
|
|
7
|
+
handleMouseEnter: () => void;
|
|
8
|
+
handleMouseLeave: () => void;
|
|
9
|
+
handleOpenChange: (value: boolean) => void;
|
|
10
|
+
onOpenByKeyboard: (value: boolean) => void;
|
|
10
11
|
triggerId: string;
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=useContextMenuSub.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContextMenuSub.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,IAAI,EAAE,WAAW,EACjB,WAAW,GACZ,EAAE,wBAAwB
|
|
1
|
+
{"version":3,"file":"useContextMenuSub.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,IAAI,EAAE,WAAW,EACjB,WAAW,GACZ,EAAE,wBAAwB;;;;;;;8BAyEQ,OAAO;8BAmCP,OAAO;;EA4GzC"}
|