@progressiveui/react 1.22.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/.storybook/Logo.js +62 -0
- package/.storybook/WfpTheme.js +38 -0
- package/.storybook/main.ts +42 -0
- package/.storybook/manager.js +9 -0
- package/.storybook/preview.tsx +72 -0
- package/.storybook/reactHookFormDecorator.module.scss +5 -0
- package/.storybook/reactHookFormDecorator.tsx +59 -0
- package/.storybook/storybook.scss +60 -0
- package/.storybook/theme.js +14 -0
- package/LICENSE +201 -0
- package/README.md +15 -0
- package/config/jest/cssTransform.js +13 -0
- package/config/jest/fileTransform.js +11 -0
- package/config/jest/jsTransform.js +8 -0
- package/config/jest/setup.js +16 -0
- package/config/polyfills.js +22 -0
- package/es/dist/components/Accordion/__tests__/utils.d.ts +12 -0
- package/es/dist/components/Accordion/components/Accordion.d.ts +7 -0
- package/es/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
- package/es/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
- package/es/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
- package/es/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
- package/es/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
- package/es/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
- package/es/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
- package/es/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
- package/es/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
- package/es/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
- package/es/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
- package/es/dist/components/Accordion/hooks/useId.d.ts +3 -0
- package/es/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
- package/es/dist/components/Accordion/index.d.ts +17 -0
- package/es/dist/components/Accordion/utils/bem.d.ts +7 -0
- package/es/dist/components/Accordion/utils/constants.d.ts +58 -0
- package/es/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
- package/es/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/es/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
- package/es/dist/components/AnchorNavigation/index.d.ts +1 -0
- package/es/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
- package/es/dist/components/AuthLayout/index.d.ts +1 -0
- package/es/dist/components/Avatar/Avatar.d.ts +33 -0
- package/es/dist/components/Avatar/index.d.ts +1 -0
- package/es/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
- package/es/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
- package/es/dist/components/BannerNavigation/index.d.ts +2 -0
- package/es/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
- package/es/dist/components/Breadcrumb/index.d.ts +1 -0
- package/es/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
- package/es/dist/components/BreadcrumbHome/index.d.ts +1 -0
- package/es/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
- package/es/dist/components/BreadcrumbItem/index.d.ts +1 -0
- package/es/dist/components/Button/Button.Skeleton.d.ts +7 -0
- package/es/dist/components/Button/Button.d.ts +55 -0
- package/es/dist/components/Button/index.d.ts +1 -0
- package/es/dist/components/Card/Card.d.ts +61 -0
- package/es/dist/components/Card/CardExternal.d.ts +37 -0
- package/es/dist/components/Card/index.d.ts +2 -0
- package/es/dist/components/Checkbox/Checkbox.d.ts +37 -0
- package/es/dist/components/Checkbox/index.d.ts +1 -0
- package/es/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
- package/es/dist/components/ContentSwitcher/index.d.ts +1 -0
- package/es/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
- package/es/dist/components/ContextMenu/index.d.ts +1 -0
- package/es/dist/components/Credits/Credits.d.ts +10 -0
- package/es/dist/components/Credits/index.d.ts +1 -0
- package/es/dist/components/DatePicker/DatePicker.d.ts +8 -0
- package/es/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
- package/es/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
- package/es/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
- package/es/dist/components/DatePicker/index.d.ts +4 -0
- package/es/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
- package/es/dist/components/Empty/Empty.d.ts +40 -0
- package/es/dist/components/Empty/index.d.ts +1 -0
- package/es/dist/components/Footer/Footer.d.ts +47 -0
- package/es/dist/components/Footer/FooterExternal.d.ts +22 -0
- package/es/dist/components/Footer/index.d.ts +2 -0
- package/es/dist/components/Form/Form.d.ts +15 -0
- package/es/dist/components/Form/index.d.ts +1 -0
- package/es/dist/components/FormGroup/FormGroup.d.ts +14 -0
- package/es/dist/components/FormGroup/index.d.ts +1 -0
- package/es/dist/components/FormHint/FormHint.d.ts +15 -0
- package/es/dist/components/FormHint/index.d.ts +1 -0
- package/es/dist/components/FormItem/FormItem.d.ts +17 -0
- package/es/dist/components/FormItem/index.d.ts +1 -0
- package/es/dist/components/FormLabel/FormLabel.d.ts +15 -0
- package/es/dist/components/FormLabel/index.d.ts +1 -0
- package/es/dist/components/Hero/Hero.d.ts +53 -0
- package/es/dist/components/Hero/HeroExternal.d.ts +22 -0
- package/es/dist/components/Hero/index.d.ts +2 -0
- package/es/dist/components/InfoBar/InfoBar.d.ts +23 -0
- package/es/dist/components/InfoBar/index.d.ts +1 -0
- package/es/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
- package/es/dist/components/InlineLoading/index.d.ts +1 -0
- package/es/dist/components/Input/Input.d.ts +152 -0
- package/es/dist/components/Input/index.d.ts +3 -0
- package/es/dist/components/Input/useInput.d.ts +123 -0
- package/es/dist/components/InputGroup/InputGroup.d.ts +48 -0
- package/es/dist/components/InputGroup/index.d.ts +1 -0
- package/es/dist/components/Item/Item.d.ts +59 -0
- package/es/dist/components/Item/index.d.ts +1 -0
- package/es/dist/components/Link/Link.d.ts +37 -0
- package/es/dist/components/Link/index.d.ts +1 -0
- package/es/dist/components/List/List.d.ts +32 -0
- package/es/dist/components/List/ListItem.d.ts +25 -0
- package/es/dist/components/List/index.d.ts +2 -0
- package/es/dist/components/Loading/Loading.d.ts +16 -0
- package/es/dist/components/Loading/index.d.ts +7 -0
- package/es/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
- package/es/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
- package/es/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
- package/es/dist/components/MainNavigation/MobileButton.d.ts +17 -0
- package/es/dist/components/MainNavigation/index.d.ts +4 -0
- package/es/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
- package/es/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
- package/es/dist/components/MainNavigationItem/index.d.ts +1 -0
- package/es/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
- package/es/dist/components/MdxComponents/index.d.ts +1 -0
- package/es/dist/components/Modal/Modal.d.ts +122 -0
- package/es/dist/components/Modal/ModalFooter.d.ts +8 -0
- package/es/dist/components/Modal/index.d.ts +2 -0
- package/es/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
- package/es/dist/components/ModalWrapper/index.d.ts +1 -0
- package/es/dist/components/Module/Module.d.ts +38 -0
- package/es/dist/components/Module/ModuleBody.d.ts +21 -0
- package/es/dist/components/Module/ModuleFooter.d.ts +10 -0
- package/es/dist/components/Module/ModuleHeader.d.ts +16 -0
- package/es/dist/components/Module/index.d.ts +4 -0
- package/es/dist/components/Notification/Callout.d.ts +59 -0
- package/es/dist/components/Notification/NotificationActionButton.d.ts +18 -0
- package/es/dist/components/Notification/NotificationButton.d.ts +36 -0
- package/es/dist/components/Notification/NotificationIcon.d.ts +8 -0
- package/es/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
- package/es/dist/components/Notification/ToastNotification.d.ts +10 -0
- package/es/dist/components/Notification/index.d.ts +5 -0
- package/es/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
- package/es/dist/components/NumberInput/NumberInput.d.ts +64 -0
- package/es/dist/components/NumberInput/index.d.ts +2 -0
- package/es/dist/components/Pagination/Pagination.d.ts +92 -0
- package/es/dist/components/Pagination/index.d.ts +1 -0
- package/es/dist/components/RadioButton/RadioButton.d.ts +27 -0
- package/es/dist/components/RadioButton/index.d.ts +2 -0
- package/es/dist/components/ReadMore/ReadMore.d.ts +45 -0
- package/es/dist/components/ReadMore/index.d.ts +1 -0
- package/es/dist/components/Search/Search.d.ts +50 -0
- package/es/dist/components/Search/index.d.ts +1 -0
- package/es/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
- package/es/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
- package/es/dist/components/SecondaryNavigation/index.d.ts +2 -0
- package/es/dist/components/Select/Select.d.ts +24 -0
- package/es/dist/components/Select/index.d.ts +1 -0
- package/es/dist/components/SelectItem/SelectItem.d.ts +28 -0
- package/es/dist/components/SelectItem/index.d.ts +1 -0
- package/es/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
- package/es/dist/components/SelectItemGroup/index.d.ts +1 -0
- package/es/dist/components/Sidebar/Sidebar.d.ts +46 -0
- package/es/dist/components/Sidebar/index.d.ts +1 -0
- package/es/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
- package/es/dist/components/SkeletonText/index.d.ts +1 -0
- package/es/dist/components/Slider/Slider.d.ts +71 -0
- package/es/dist/components/Slider/index.d.ts +1 -0
- package/es/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
- package/es/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
- package/es/dist/components/StepNavigation/index.d.ts +2 -0
- package/es/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
- package/es/dist/components/StepNavigationItem/index.d.ts +1 -0
- package/es/dist/components/Story/Story.d.ts +7 -0
- package/es/dist/components/Story/index.d.ts +1 -0
- package/es/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
- package/es/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
- package/es/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
- package/es/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
- package/es/dist/components/SubNavigation/index.d.ts +9 -0
- package/es/dist/components/Tab/Tab.d.ts +83 -0
- package/es/dist/components/Tab/index.d.ts +2 -0
- package/es/dist/components/Tab/useTab.d.ts +12 -0
- package/es/dist/components/TabContent/TabContent.d.ts +13 -0
- package/es/dist/components/TabContent/index.d.ts +1 -0
- package/es/dist/components/Table/Table.d.ts +8 -0
- package/es/dist/components/Table/TableSorting.d.ts +11 -0
- package/es/dist/components/Table/index.d.ts +2 -0
- package/es/dist/components/TablePagination/TablePagination.d.ts +33 -0
- package/es/dist/components/TablePagination/index.d.ts +1 -0
- package/es/dist/components/Tabs/Tabs.d.ts +67 -0
- package/es/dist/components/Tabs/TabsContext.d.ts +8 -0
- package/es/dist/components/Tabs/index.d.ts +1 -0
- package/es/dist/components/Tag/Tag.d.ts +14 -0
- package/es/dist/components/Tag/index.d.ts +2 -0
- package/es/dist/components/Text/Text.d.ts +30 -0
- package/es/dist/components/Text/index.d.ts +1 -0
- package/es/dist/components/TextArea/TextArea.d.ts +8 -0
- package/es/dist/components/TextArea/index.d.ts +1 -0
- package/es/dist/components/TextInput/TextInput.d.ts +7 -0
- package/es/dist/components/TextInput/index.d.ts +1 -0
- package/es/dist/components/Toggle/Toggle.d.ts +38 -0
- package/es/dist/components/Toggle/index.d.ts +1 -0
- package/es/dist/components/Tooltip/Tooltip.d.ts +103 -0
- package/es/dist/components/Tooltip/index.d.ts +2 -0
- package/es/dist/components/Unit/InvalidUnit.d.ts +2 -0
- package/es/dist/components/Unit/SimpleCalc.d.ts +17 -0
- package/es/dist/components/Unit/StringUnit.d.ts +2 -0
- package/es/dist/components/Unit/SvgUnit.d.ts +2 -0
- package/es/dist/components/Unit/Unit.d.ts +54 -0
- package/es/dist/components/Unit/UnitList.d.ts +96 -0
- package/es/dist/components/Unit/YearMonthCalc.d.ts +7 -0
- package/es/dist/components/Unit/currencyCalc.d.ts +21 -0
- package/es/dist/components/Unit/index.d.ts +1 -0
- package/es/dist/components/Unit/percentageCalc.d.ts +18 -0
- package/es/dist/components/Unit/scaleLookup.d.ts +24 -0
- package/es/dist/components/User/User.d.ts +55 -0
- package/es/dist/components/User/index.d.ts +1 -0
- package/es/dist/components/Value/Value.d.ts +11 -0
- package/es/dist/components/Value/index.d.ts +1 -0
- package/es/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
- package/es/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
- package/es/dist/components/WFPCoreSettings/index.d.ts +4 -0
- package/es/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
- package/es/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
- package/es/dist/components/Wrapper/Wrapper.d.ts +22 -0
- package/es/dist/components/Wrapper/index.d.ts +2 -0
- package/es/dist/globals/data/colors.d.ts +609 -0
- package/es/dist/globals/js/settings.d.ts +34 -0
- package/es/dist/hooks/index.d.ts +1 -0
- package/es/dist/hooks/togglable.d.ts +5 -0
- package/es/dist/hooks/useHeightTransition.d.ts +4 -0
- package/es/dist/hooks/useId.d.ts +3 -0
- package/es/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
- package/es/dist/hooks/useMediaQuery.d.ts +19 -0
- package/es/dist/hooks/useMergeRef.d.ts +4 -0
- package/es/dist/hooks/useSettings.d.ts +2 -0
- package/es/dist/index.d.ts +75 -0
- package/es/dist/internal/FeatureFlags.d.ts +19 -0
- package/es/dist/prop-types/types.d.ts +5 -0
- package/es/dist/tools/uniqueId.d.ts +2 -0
- package/es/index.js +5470 -0
- package/lib/dist/components/Accordion/__tests__/utils.d.ts +12 -0
- package/lib/dist/components/Accordion/components/Accordion.d.ts +7 -0
- package/lib/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
- package/lib/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
- package/lib/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
- package/lib/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
- package/lib/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
- package/lib/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
- package/lib/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
- package/lib/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
- package/lib/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
- package/lib/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
- package/lib/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
- package/lib/dist/components/Accordion/hooks/useId.d.ts +3 -0
- package/lib/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
- package/lib/dist/components/Accordion/index.d.ts +17 -0
- package/lib/dist/components/Accordion/utils/bem.d.ts +7 -0
- package/lib/dist/components/Accordion/utils/constants.d.ts +58 -0
- package/lib/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
- package/lib/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
- package/lib/dist/components/AnchorNavigation/index.d.ts +1 -0
- package/lib/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
- package/lib/dist/components/AuthLayout/index.d.ts +1 -0
- package/lib/dist/components/Avatar/Avatar.d.ts +33 -0
- package/lib/dist/components/Avatar/index.d.ts +1 -0
- package/lib/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
- package/lib/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
- package/lib/dist/components/BannerNavigation/index.d.ts +2 -0
- package/lib/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
- package/lib/dist/components/Breadcrumb/index.d.ts +1 -0
- package/lib/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
- package/lib/dist/components/BreadcrumbHome/index.d.ts +1 -0
- package/lib/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
- package/lib/dist/components/BreadcrumbItem/index.d.ts +1 -0
- package/lib/dist/components/Button/Button.Skeleton.d.ts +7 -0
- package/lib/dist/components/Button/Button.d.ts +55 -0
- package/lib/dist/components/Button/index.d.ts +1 -0
- package/lib/dist/components/Card/Card.d.ts +61 -0
- package/lib/dist/components/Card/CardExternal.d.ts +37 -0
- package/lib/dist/components/Card/index.d.ts +2 -0
- package/lib/dist/components/Checkbox/Checkbox.d.ts +37 -0
- package/lib/dist/components/Checkbox/index.d.ts +1 -0
- package/lib/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
- package/lib/dist/components/ContentSwitcher/index.d.ts +1 -0
- package/lib/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
- package/lib/dist/components/ContextMenu/index.d.ts +1 -0
- package/lib/dist/components/Credits/Credits.d.ts +10 -0
- package/lib/dist/components/Credits/index.d.ts +1 -0
- package/lib/dist/components/DatePicker/DatePicker.d.ts +8 -0
- package/lib/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
- package/lib/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
- package/lib/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
- package/lib/dist/components/DatePicker/index.d.ts +4 -0
- package/lib/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
- package/lib/dist/components/Empty/Empty.d.ts +40 -0
- package/lib/dist/components/Empty/index.d.ts +1 -0
- package/lib/dist/components/Footer/Footer.d.ts +47 -0
- package/lib/dist/components/Footer/FooterExternal.d.ts +22 -0
- package/lib/dist/components/Footer/index.d.ts +2 -0
- package/lib/dist/components/Form/Form.d.ts +15 -0
- package/lib/dist/components/Form/index.d.ts +1 -0
- package/lib/dist/components/FormGroup/FormGroup.d.ts +14 -0
- package/lib/dist/components/FormGroup/index.d.ts +1 -0
- package/lib/dist/components/FormHint/FormHint.d.ts +15 -0
- package/lib/dist/components/FormHint/index.d.ts +1 -0
- package/lib/dist/components/FormItem/FormItem.d.ts +17 -0
- package/lib/dist/components/FormItem/index.d.ts +1 -0
- package/lib/dist/components/FormLabel/FormLabel.d.ts +15 -0
- package/lib/dist/components/FormLabel/index.d.ts +1 -0
- package/lib/dist/components/Hero/Hero.d.ts +53 -0
- package/lib/dist/components/Hero/HeroExternal.d.ts +22 -0
- package/lib/dist/components/Hero/index.d.ts +2 -0
- package/lib/dist/components/InfoBar/InfoBar.d.ts +23 -0
- package/lib/dist/components/InfoBar/index.d.ts +1 -0
- package/lib/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
- package/lib/dist/components/InlineLoading/index.d.ts +1 -0
- package/lib/dist/components/Input/Input.d.ts +152 -0
- package/lib/dist/components/Input/index.d.ts +3 -0
- package/lib/dist/components/Input/useInput.d.ts +123 -0
- package/lib/dist/components/InputGroup/InputGroup.d.ts +48 -0
- package/lib/dist/components/InputGroup/index.d.ts +1 -0
- package/lib/dist/components/Item/Item.d.ts +59 -0
- package/lib/dist/components/Item/index.d.ts +1 -0
- package/lib/dist/components/Link/Link.d.ts +37 -0
- package/lib/dist/components/Link/index.d.ts +1 -0
- package/lib/dist/components/List/List.d.ts +32 -0
- package/lib/dist/components/List/ListItem.d.ts +25 -0
- package/lib/dist/components/List/index.d.ts +2 -0
- package/lib/dist/components/Loading/Loading.d.ts +16 -0
- package/lib/dist/components/Loading/index.d.ts +7 -0
- package/lib/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
- package/lib/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
- package/lib/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
- package/lib/dist/components/MainNavigation/MobileButton.d.ts +17 -0
- package/lib/dist/components/MainNavigation/index.d.ts +4 -0
- package/lib/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
- package/lib/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
- package/lib/dist/components/MainNavigationItem/index.d.ts +1 -0
- package/lib/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
- package/lib/dist/components/MdxComponents/index.d.ts +1 -0
- package/lib/dist/components/Modal/Modal.d.ts +122 -0
- package/lib/dist/components/Modal/ModalFooter.d.ts +8 -0
- package/lib/dist/components/Modal/index.d.ts +2 -0
- package/lib/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
- package/lib/dist/components/ModalWrapper/index.d.ts +1 -0
- package/lib/dist/components/Module/Module.d.ts +38 -0
- package/lib/dist/components/Module/ModuleBody.d.ts +21 -0
- package/lib/dist/components/Module/ModuleFooter.d.ts +10 -0
- package/lib/dist/components/Module/ModuleHeader.d.ts +16 -0
- package/lib/dist/components/Module/index.d.ts +4 -0
- package/lib/dist/components/Notification/Callout.d.ts +59 -0
- package/lib/dist/components/Notification/NotificationActionButton.d.ts +18 -0
- package/lib/dist/components/Notification/NotificationButton.d.ts +36 -0
- package/lib/dist/components/Notification/NotificationIcon.d.ts +8 -0
- package/lib/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
- package/lib/dist/components/Notification/ToastNotification.d.ts +10 -0
- package/lib/dist/components/Notification/index.d.ts +5 -0
- package/lib/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
- package/lib/dist/components/NumberInput/NumberInput.d.ts +64 -0
- package/lib/dist/components/NumberInput/index.d.ts +2 -0
- package/lib/dist/components/Pagination/Pagination.d.ts +92 -0
- package/lib/dist/components/Pagination/index.d.ts +1 -0
- package/lib/dist/components/RadioButton/RadioButton.d.ts +27 -0
- package/lib/dist/components/RadioButton/index.d.ts +2 -0
- package/lib/dist/components/ReadMore/ReadMore.d.ts +45 -0
- package/lib/dist/components/ReadMore/index.d.ts +1 -0
- package/lib/dist/components/Search/Search.d.ts +50 -0
- package/lib/dist/components/Search/index.d.ts +1 -0
- package/lib/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
- package/lib/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
- package/lib/dist/components/SecondaryNavigation/index.d.ts +2 -0
- package/lib/dist/components/Select/Select.d.ts +24 -0
- package/lib/dist/components/Select/index.d.ts +1 -0
- package/lib/dist/components/SelectItem/SelectItem.d.ts +28 -0
- package/lib/dist/components/SelectItem/index.d.ts +1 -0
- package/lib/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
- package/lib/dist/components/SelectItemGroup/index.d.ts +1 -0
- package/lib/dist/components/Sidebar/Sidebar.d.ts +46 -0
- package/lib/dist/components/Sidebar/index.d.ts +1 -0
- package/lib/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
- package/lib/dist/components/SkeletonText/index.d.ts +1 -0
- package/lib/dist/components/Slider/Slider.d.ts +71 -0
- package/lib/dist/components/Slider/index.d.ts +1 -0
- package/lib/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
- package/lib/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
- package/lib/dist/components/StepNavigation/index.d.ts +2 -0
- package/lib/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
- package/lib/dist/components/StepNavigationItem/index.d.ts +1 -0
- package/lib/dist/components/Story/Story.d.ts +7 -0
- package/lib/dist/components/Story/index.d.ts +1 -0
- package/lib/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
- package/lib/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
- package/lib/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
- package/lib/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
- package/lib/dist/components/SubNavigation/index.d.ts +9 -0
- package/lib/dist/components/Tab/Tab.d.ts +83 -0
- package/lib/dist/components/Tab/index.d.ts +2 -0
- package/lib/dist/components/Tab/useTab.d.ts +12 -0
- package/lib/dist/components/TabContent/TabContent.d.ts +13 -0
- package/lib/dist/components/TabContent/index.d.ts +1 -0
- package/lib/dist/components/Table/Table.d.ts +8 -0
- package/lib/dist/components/Table/TableSorting.d.ts +11 -0
- package/lib/dist/components/Table/index.d.ts +2 -0
- package/lib/dist/components/TablePagination/TablePagination.d.ts +33 -0
- package/lib/dist/components/TablePagination/index.d.ts +1 -0
- package/lib/dist/components/Tabs/Tabs.d.ts +67 -0
- package/lib/dist/components/Tabs/TabsContext.d.ts +8 -0
- package/lib/dist/components/Tabs/index.d.ts +1 -0
- package/lib/dist/components/Tag/Tag.d.ts +14 -0
- package/lib/dist/components/Tag/index.d.ts +2 -0
- package/lib/dist/components/Text/Text.d.ts +30 -0
- package/lib/dist/components/Text/index.d.ts +1 -0
- package/lib/dist/components/TextArea/TextArea.d.ts +8 -0
- package/lib/dist/components/TextArea/index.d.ts +1 -0
- package/lib/dist/components/TextInput/TextInput.d.ts +7 -0
- package/lib/dist/components/TextInput/index.d.ts +1 -0
- package/lib/dist/components/Toggle/Toggle.d.ts +38 -0
- package/lib/dist/components/Toggle/index.d.ts +1 -0
- package/lib/dist/components/Tooltip/Tooltip.d.ts +103 -0
- package/lib/dist/components/Tooltip/index.d.ts +2 -0
- package/lib/dist/components/UNCoreSettings/UNCoreProvider.d.ts +21 -0
- package/lib/dist/components/UNCoreSettings/defaults.d.ts +2 -0
- package/lib/dist/components/UNCoreSettings/index.d.ts +4 -0
- package/lib/dist/components/UNCoreSettings/useTheme.d.ts +2 -0
- package/lib/dist/components/UNCoreSettings/withUNCoreSettings.d.ts +2 -0
- package/lib/dist/components/Unit/InvalidUnit.d.ts +2 -0
- package/lib/dist/components/Unit/SimpleCalc.d.ts +17 -0
- package/lib/dist/components/Unit/StringUnit.d.ts +2 -0
- package/lib/dist/components/Unit/SvgUnit.d.ts +2 -0
- package/lib/dist/components/Unit/Unit.d.ts +54 -0
- package/lib/dist/components/Unit/UnitList.d.ts +96 -0
- package/lib/dist/components/Unit/YearMonthCalc.d.ts +7 -0
- package/lib/dist/components/Unit/currencyCalc.d.ts +21 -0
- package/lib/dist/components/Unit/index.d.ts +1 -0
- package/lib/dist/components/Unit/percentageCalc.d.ts +18 -0
- package/lib/dist/components/Unit/scaleLookup.d.ts +24 -0
- package/lib/dist/components/User/User.d.ts +55 -0
- package/lib/dist/components/User/index.d.ts +1 -0
- package/lib/dist/components/Value/Value.d.ts +11 -0
- package/lib/dist/components/Value/index.d.ts +1 -0
- package/lib/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
- package/lib/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
- package/lib/dist/components/WFPCoreSettings/index.d.ts +4 -0
- package/lib/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
- package/lib/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
- package/lib/dist/components/Wrapper/Wrapper.d.ts +22 -0
- package/lib/dist/components/Wrapper/index.d.ts +2 -0
- package/lib/dist/globals/data/colors.d.ts +609 -0
- package/lib/dist/globals/js/settings.d.ts +34 -0
- package/lib/dist/hooks/index.d.ts +1 -0
- package/lib/dist/hooks/togglable.d.ts +5 -0
- package/lib/dist/hooks/useHeightTransition.d.ts +4 -0
- package/lib/dist/hooks/useId.d.ts +3 -0
- package/lib/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
- package/lib/dist/hooks/useMediaQuery.d.ts +19 -0
- package/lib/dist/hooks/useMergeRef.d.ts +4 -0
- package/lib/dist/hooks/useSettings.d.ts +2 -0
- package/lib/dist/index.d.ts +75 -0
- package/lib/dist/indexStories.d.ts +1 -0
- package/lib/dist/internal/FeatureFlags.d.ts +19 -0
- package/lib/dist/prop-types/types.d.ts +5 -0
- package/lib/dist/tools/uniqueId.d.ts +2 -0
- package/lib/index.js +5670 -0
- package/package.json +170 -0
- package/src/assets/internal/background-contrast.png +0 -0
- package/src/assets/internal/brand-color.png +0 -0
- package/src/assets/internal/branding.svg +31 -0
- package/src/assets/internal/colors.png +0 -0
- package/src/assets/internal/hero-image.jpg +0 -0
- package/src/assets/internal/mobile-android-general.png +0 -0
- package/src/assets/internal/secondary-color.png +0 -0
- package/src/assets/internal/toolkit.svg +17 -0
- package/src/assets/internal/usability.svg +12 -0
- package/src/assets/internal/wfp-favicon-png32.png +0 -0
- package/src/assets/internal/wfp-favicon-png512.png +0 -0
- package/src/assets/internal/wfp-favicon-preview-png32.png +0 -0
- package/src/assets/internal/wfp-favicon-preview-png512.png +0 -0
- package/src/assets/internal/yemen-hero-min.jpg +0 -0
- package/src/components/Accordion/Accordion.stories.tsx +41 -0
- package/src/components/Accordion/README.mdx +0 -0
- package/src/components/Accordion/__tests__/components/Accordion.test.tsx.new +122 -0
- package/src/components/Accordion/__tests__/components/AccordionItem.test.tsx.new +353 -0
- package/src/components/Accordion/__tests__/components/AccordionMock.test.tsx.new +18 -0
- package/src/components/Accordion/__tests__/components/ControlledAccordion.test.tsx.new +38 -0
- package/src/components/Accordion/__tests__/hooks/useAccordionProvider.test.ts +56 -0
- package/src/components/Accordion/__tests__/hooks/useAccordionState.test.tsx.new +54 -0
- package/src/components/Accordion/__tests__/hooks/useId.test.ts +19 -0
- package/src/components/Accordion/__tests__/ssr.test.ts +32 -0
- package/src/components/Accordion/__tests__/utils.tsx +48 -0
- package/src/components/Accordion/components/Accordion.tsx +44 -0
- package/src/components/Accordion/components/AccordionItem.tsx +181 -0
- package/src/components/Accordion/components/AccordionProvider.tsx +9 -0
- package/src/components/Accordion/components/ControlledAccordion.tsx +35 -0
- package/src/components/Accordion/components/withAccordionItem.tsx +37 -0
- package/src/components/Accordion/hooks/useAccordion.ts +56 -0
- package/src/components/Accordion/hooks/useAccordionContext.ts +32 -0
- package/src/components/Accordion/hooks/useAccordionItem.ts +31 -0
- package/src/components/Accordion/hooks/useAccordionItemEffect.ts +36 -0
- package/src/components/Accordion/hooks/useAccordionProvider.ts +35 -0
- package/src/components/Accordion/hooks/useAccordionState.ts +14 -0
- package/src/components/Accordion/index.ts +23 -0
- package/src/components/Accordion/utils/bem.ts +33 -0
- package/src/components/Accordion/utils/constants.ts +82 -0
- package/src/components/Accordion/utils/mergeProps.ts +24 -0
- package/src/components/Accordion/utils/useIsomorphicLayoutEffect.ts +15 -0
- package/src/components/AnchorNavigation/AnchorNavigation-test.js +48 -0
- package/src/components/AnchorNavigation/AnchorNavigation.stories.tsx +56 -0
- package/src/components/AnchorNavigation/AnchorNavigation.tsx +29 -0
- package/src/components/AnchorNavigation/README.mdx +0 -0
- package/src/components/AnchorNavigation/index.ts +1 -0
- package/src/components/AuthLayout/AuthLayout-test.js +46 -0
- package/src/components/AuthLayout/AuthLayout.stories.tsx +146 -0
- package/src/components/AuthLayout/AuthLayout.tsx +64 -0
- package/src/components/AuthLayout/README.mdx +0 -0
- package/src/components/AuthLayout/index.ts +1 -0
- package/src/components/Avatar/Avatar.stories.tsx +19 -0
- package/src/components/Avatar/Avatar.tsx +99 -0
- package/src/components/Avatar/index.ts +1 -0
- package/src/components/BannerNavigation/BannerNavigation-test.js +48 -0
- package/src/components/BannerNavigation/BannerNavigation.hbs +45 -0
- package/src/components/BannerNavigation/BannerNavigation.stories.tsx +64 -0
- package/src/components/BannerNavigation/BannerNavigation.tsx +55 -0
- package/src/components/BannerNavigation/BannerNavigation.twig +16 -0
- package/src/components/BannerNavigation/BannerNavigationWithContent.tsx +93 -0
- package/src/components/BannerNavigation/README.mdx +62 -0
- package/src/components/BannerNavigation/index.ts +2 -0
- package/src/components/BannerNavigation/kinds.js +3 -0
- package/src/components/Breadcrumb/Breadcrumb-test.js +50 -0
- package/src/components/Breadcrumb/Breadcrumb.Skeleton.jsx +22 -0
- package/src/components/Breadcrumb/Breadcrumb.hbs +16 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +39 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +27 -0
- package/src/components/Breadcrumb/README.mdx +23 -0
- package/src/components/Breadcrumb/index.ts +2 -0
- package/src/components/BreadcrumbHome/BreadcrumbHome.tsx +37 -0
- package/src/components/BreadcrumbHome/index.ts +1 -0
- package/src/components/BreadcrumbItem/BreadcrumbItem.tsx +54 -0
- package/src/components/BreadcrumbItem/index.ts +1 -0
- package/src/components/Button/Button.Skeleton.tsx +30 -0
- package/src/components/Button/Button.d.ts +7 -0
- package/src/components/Button/Button.stories.tsx +339 -0
- package/src/components/Button/Button.test.tsx +135 -0
- package/src/components/Button/Button.tsx +201 -0
- package/src/components/Button/Button.twig +1 -0
- package/src/components/Button/README.mdx +34 -0
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +12 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Card/Card-old.js +187 -0
- package/src/components/Card/Card-test.js +27 -0
- package/src/components/Card/Card.stories.tsx +105 -0
- package/src/components/Card/Card.tsx +159 -0
- package/src/components/Card/Card.twig +21 -0
- package/src/components/Card/CardExternal.tsx +174 -0
- package/src/components/Card/README.mdx +1 -0
- package/src/components/Card/index.ts +2 -0
- package/src/components/Checkbox/Checkbox-old.js +132 -0
- package/src/components/Checkbox/Checkbox-test.js +205 -0
- package/src/components/Checkbox/Checkbox.Skeleton.js +37 -0
- package/src/components/Checkbox/Checkbox.hbs +15 -0
- package/src/components/Checkbox/Checkbox.legacy.js +126 -0
- package/src/components/Checkbox/Checkbox.stories.tsx +179 -0
- package/src/components/Checkbox/Checkbox.tsx +123 -0
- package/src/components/Checkbox/README.mdx +59 -0
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/CheckboxGroup/README.md +29 -0
- package/src/components/CheckboxGroup/RadioButtonGroup.js +158 -0
- package/src/components/CheckboxGroup/RadioButtonGroupWithoutControls.js +46 -0
- package/src/components/CheckboxGroup/index.js +1 -0
- package/src/components/ContentSwitcher/ContentSwitcher-test.js +117 -0
- package/src/components/ContentSwitcher/ContentSwitcher.hbs +5 -0
- package/src/components/ContentSwitcher/ContentSwitcher.stories.tsx +94 -0
- package/src/components/ContentSwitcher/ContentSwitcher.tsx +57 -0
- package/src/components/ContentSwitcher/README.mdx +31 -0
- package/src/components/ContentSwitcher/index.ts +1 -0
- package/src/components/ContextMenu/ContextMenu.stories.tsx +137 -0
- package/src/components/ContextMenu/ContextMenu.tsx +89 -0
- package/src/components/ContextMenu/README.mdx +13 -0
- package/src/components/ContextMenu/index.ts +1 -0
- package/src/components/Credits/Credits-test.js +25 -0
- package/src/components/Credits/Credits.hbs +4 -0
- package/src/components/Credits/Credits.stories.tsx +30 -0
- package/src/components/Credits/Credits.tsx +31 -0
- package/src/components/Credits/README.mdx +1 -0
- package/src/components/Credits/index.ts +1 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +51 -0
- package/src/components/DatePicker/DatePicker.tsx +53 -0
- package/src/components/DatePicker/DatePickerInput.tsx +82 -0
- package/src/components/DatePicker/DatePickerNew.stories.js.new +195 -0
- package/src/components/DatePicker/DateRangePicker.tsx +63 -0
- package/src/components/DatePicker/DateRangePickerInput.tsx +106 -0
- package/src/components/DatePicker/README.mdx +50 -0
- package/src/components/DatePicker/index.ts +4 -0
- package/src/components/Empty/Empty-test.js +69 -0
- package/src/components/Empty/Empty.stories.tsx +54 -0
- package/src/components/Empty/Empty.tsx +95 -0
- package/src/components/Empty/README.mdx +28 -0
- package/src/components/Empty/index.ts +1 -0
- package/src/components/Footer/Footer-external.hbs +22 -0
- package/src/components/Footer/Footer-internal.hbs +30 -0
- package/src/components/Footer/Footer.stories.tsx +331 -0
- package/src/components/Footer/Footer.test.tsx +64 -0
- package/src/components/Footer/Footer.tsx +156 -0
- package/src/components/Footer/FooterExternal.tsx +172 -0
- package/src/components/Footer/README.mdx +20 -0
- package/src/components/Footer/index.ts +2 -0
- package/src/components/Form/Form-test.js +56 -0
- package/src/components/Form/Form.stories.tsx +485 -0
- package/src/components/Form/Form.tsx +40 -0
- package/src/components/Form/README.mdx +46 -0
- package/src/components/Form/index.ts +1 -0
- package/src/components/FormGroup/FormGroup-old.js +100 -0
- package/src/components/FormGroup/FormGroup-test.js +49 -0
- package/src/components/FormGroup/FormGroup.stories.tsx.new +306 -0
- package/src/components/FormGroup/FormGroup.tsx +63 -0
- package/src/components/FormGroup/README.mdx +7 -0
- package/src/components/FormGroup/index.ts +1 -0
- package/src/components/FormHint/FormHint-old.js +44 -0
- package/src/components/FormHint/FormHint-test.js +13 -0
- package/src/components/FormHint/FormHint.stories.tsx +72 -0
- package/src/components/FormHint/FormHint.tsx +37 -0
- package/src/components/FormHint/README.mdx +13 -0
- package/src/components/FormHint/index.ts +1 -0
- package/src/components/FormItem/FormItem-test.js +10 -0
- package/src/components/FormItem/FormItem.tsx +45 -0
- package/src/components/FormItem/RfFormItem.js +44 -0
- package/src/components/FormItem/__snapshots__/FormItem-test.js.snap +7 -0
- package/src/components/FormItem/index.ts +1 -0
- package/src/components/FormLabel/FormLabel-test.js +10 -0
- package/src/components/FormLabel/FormLabel.hbs +1 -0
- package/src/components/FormLabel/FormLabel.stories.tsx +15 -0
- package/src/components/FormLabel/FormLabel.tsx +35 -0
- package/src/components/FormLabel/README.mdx +1 -0
- package/src/components/FormLabel/RfFormLabel.js +38 -0
- package/src/components/FormLabel/__snapshots__/FormLabel-test.js.snap +7 -0
- package/src/components/FormLabel/index.ts +1 -0
- package/src/components/Hero/Hero-old.js +154 -0
- package/src/components/Hero/Hero-test.js +81 -0
- package/src/components/Hero/Hero.hbs +4 -0
- package/src/components/Hero/Hero.stories.tsx +356 -0
- package/src/components/Hero/Hero.tsx +142 -0
- package/src/components/Hero/Hero.twig +10 -0
- package/src/components/Hero/HeroExternal-old.js +54 -0
- package/src/components/Hero/HeroExternal.tsx +64 -0
- package/src/components/Hero/README.mdx +5 -0
- package/src/components/Hero/index.ts +2 -0
- package/src/components/InfoBar/InfoBar-test.js +17 -0
- package/src/components/InfoBar/InfoBar.stories.tsx +42 -0
- package/src/components/InfoBar/InfoBar.test.tsx +46 -0
- package/src/components/InfoBar/InfoBar.tsx +46 -0
- package/src/components/InfoBar/README.mdx +5 -0
- package/src/components/InfoBar/__snapshots__/InfoBar.test.tsx.snap +15 -0
- package/src/components/InfoBar/index.ts +1 -0
- package/src/components/InlineLoading/InlineLoading-FCold.js +90 -0
- package/src/components/InlineLoading/InlineLoading-Old.js +102 -0
- package/src/components/InlineLoading/InlineLoading-test.js +90 -0
- package/src/components/InlineLoading/InlineLoading.stories.tsx +39 -0
- package/src/components/InlineLoading/InlineLoading.tsx +79 -0
- package/src/components/InlineLoading/README.mdx +89 -0
- package/src/components/InlineLoading/index.ts +1 -0
- package/src/components/InlineLoading/inline-loading.config.js +25 -0
- package/src/components/InlineLoading/inline-loading.hbs +28 -0
- package/src/components/InlineLoading/inline-loading.js +135 -0
- package/src/components/Input/Input-test.js +120 -0
- package/src/components/Input/Input.stories.tsx +48 -0
- package/src/components/Input/Input.tsx +345 -0
- package/src/components/Input/README.mdx +46 -0
- package/src/components/Input/index.tsx +13 -0
- package/src/components/Input/useInput.tsx +189 -0
- package/src/components/InputGroup/InputGroup-old.js +166 -0
- package/src/components/InputGroup/InputGroup-test.js +114 -0
- package/src/components/InputGroup/InputGroup.stories.tsx +265 -0
- package/src/components/InputGroup/InputGroup.tsx +132 -0
- package/src/components/InputGroup/README.mdx +19 -0
- package/src/components/InputGroup/RadioButtonGroupWithoutControls.js +36 -0
- package/src/components/InputGroup/index.tsx +1 -0
- package/src/components/Item/Item-test.js +33 -0
- package/src/components/Item/Item.stories.tsx +158 -0
- package/src/components/Item/Item.tsx +134 -0
- package/src/components/Item/README.mdx +28 -0
- package/src/components/Item/index.ts +1 -0
- package/src/components/Link/Link-test.e2e.js +35 -0
- package/src/components/Link/Link-test.js +115 -0
- package/src/components/Link/Link.mdx +41 -0
- package/src/components/Link/Link.stories.tsx +95 -0
- package/src/components/Link/Link.test.tsx +100 -0
- package/src/components/Link/Link.tsx +91 -0
- package/src/components/Link/README.mdx +35 -0
- package/src/components/Link/__snapshots__/Link.test.tsx.snap +12 -0
- package/src/components/Link/index.ts +1 -0
- package/src/components/Link/link-avt.md +32 -0
- package/src/components/List/List-test.js +27 -0
- package/src/components/List/List.hbs +11 -0
- package/src/components/List/List.stories.tsx +195 -0
- package/src/components/List/List.tsx +91 -0
- package/src/components/List/ListItem.tsx +54 -0
- package/src/components/List/README.mdx +19 -0
- package/src/components/List/index.ts +2 -0
- package/src/components/Loading/Loading-oldClass.js +93 -0
- package/src/components/Loading/Loading-oldFC.js +80 -0
- package/src/components/Loading/Loading-test.js +68 -0
- package/src/components/Loading/Loading.stories.tsx +94 -0
- package/src/components/Loading/Loading.tsx +74 -0
- package/src/components/Loading/README.mdx +23 -0
- package/src/components/Loading/index.ts +8 -0
- package/src/components/Loading/loading-vanilla.js +137 -0
- package/src/components/Loading/loading.config.js +42 -0
- package/src/components/Loading/loading.hbs +18 -0
- package/src/components/MainNavigation/MainNavigation-test.js +26 -0
- package/src/components/MainNavigation/MainNavigation.hbs +180 -0
- package/src/components/MainNavigation/MainNavigation.stories.tsx +681 -0
- package/src/components/MainNavigation/MainNavigation.tsx +174 -0
- package/src/components/MainNavigation/MainNavigationContext.ts +34 -0
- package/src/components/MainNavigation/MainNavigationExternal.tsx +338 -0
- package/src/components/MainNavigation/MainNavigationRtl-story.legacy.js +95 -0
- package/src/components/MainNavigation/MobileButton.tsx +29 -0
- package/src/components/MainNavigation/README.mdx.legacy +173 -0
- package/src/components/MainNavigation/index.ts +4 -0
- package/src/components/MainNavigation/main-navigation.js +74 -0
- package/src/components/MainNavigation/useMainNavigation.tsx +17 -0
- package/src/components/MainNavigationItem/MainNavigationItem.tsx +110 -0
- package/src/components/MainNavigationItem/index.ts +1 -0
- package/src/components/MdxComponents/MdxComponents.stories.tsx +32 -0
- package/src/components/MdxComponents/MdxComponentsNew.tsx +181 -0
- package/src/components/MdxComponents/README.mdx +22 -0
- package/src/components/MdxComponents/index.ts +1 -0
- package/src/components/MdxComponents/markdown.mdx +109 -0
- package/src/components/Modal/Modal-test.js +206 -0
- package/src/components/Modal/Modal.hbs +26 -0
- package/src/components/Modal/Modal.stories.tsx +36 -0
- package/src/components/Modal/Modal.tsx +378 -0
- package/src/components/Modal/ModalFooter-old.js +41 -0
- package/src/components/Modal/ModalFooter.tsx +60 -0
- package/src/components/Modal/ModalHeader.js +25 -0
- package/src/components/Modal/ModalWithControls-story.legacy.js +44 -0
- package/src/components/Modal/README.mdx.legacy +102 -0
- package/src/components/Modal/index.ts +2 -0
- package/src/components/ModalWrapper/ModalWrapper-old.js +141 -0
- package/src/components/ModalWrapper/ModalWrapper-test.js +108 -0
- package/src/components/ModalWrapper/ModalWrapper.stories.tsx +109 -0
- package/src/components/ModalWrapper/ModalWrapper.tsx +149 -0
- package/src/components/ModalWrapper/README.mdx +16 -0
- package/src/components/ModalWrapper/index.ts +1 -0
- package/src/components/Module/Module-old.js +74 -0
- package/src/components/Module/Module-test.js +54 -0
- package/src/components/Module/Module.hbs +3 -0
- package/src/components/Module/Module.stories.tsx +108 -0
- package/src/components/Module/Module.tsx +75 -0
- package/src/components/Module/ModuleBody.tsx +42 -0
- package/src/components/Module/ModuleFooter.tsx +26 -0
- package/src/components/Module/ModuleHeader.tsx +34 -0
- package/src/components/Module/README.mdx +28 -0
- package/src/components/Module/index.ts +6 -0
- package/src/components/Notification/Callout.tsx +141 -0
- package/src/components/Notification/InlineNotification.tsx.legacy +142 -0
- package/src/components/Notification/Notification-test.js +258 -0
- package/src/components/Notification/Notification.stories.tsx +286 -0
- package/src/components/Notification/NotificationActionButton.tsx +48 -0
- package/src/components/Notification/NotificationButton.tsx +86 -0
- package/src/components/Notification/NotificationIcon.tsx +41 -0
- package/src/components/Notification/NotificationTextDetails.tsx +51 -0
- package/src/components/Notification/README.mdx +26 -0
- package/src/components/Notification/ToastNotification.tsx +110 -0
- package/src/components/Notification/a11yIconWarningSolid.js +36 -0
- package/src/components/Notification/index.ts +7 -0
- package/src/components/NumberInput/NumberInput-test.js +285 -0
- package/src/components/NumberInput/NumberInput.Skeleton.tsx +29 -0
- package/src/components/NumberInput/NumberInput.js.legacy +255 -0
- package/src/components/NumberInput/NumberInput.legacy.js +330 -0
- package/src/components/NumberInput/NumberInput.stories.tsx +79 -0
- package/src/components/NumberInput/NumberInput.tsx +215 -0
- package/src/components/NumberInput/README.mdx +16 -0
- package/src/components/NumberInput/index.ts +2 -0
- package/src/components/Pagination/Pagination-fc.js +217 -0
- package/src/components/Pagination/Pagination-old.js +346 -0
- package/src/components/Pagination/Pagination-test.js +400 -0
- package/src/components/Pagination/Pagination.Skeleton.jsx +22 -0
- package/src/components/Pagination/Pagination.stories.tsx +22 -0
- package/src/components/Pagination/Pagination.tsx +263 -0
- package/src/components/Pagination/README.mdx +27 -0
- package/src/components/Pagination/index.js +2 -0
- package/src/components/RadioButton/README.mdx +34 -0
- package/src/components/RadioButton/RadioButton-fc.js +103 -0
- package/src/components/RadioButton/RadioButton-old.js +109 -0
- package/src/components/RadioButton/RadioButton-test.js +131 -0
- package/src/components/RadioButton/RadioButton.Skeleton.jsx +20 -0
- package/src/components/RadioButton/RadioButton.hbs +7 -0
- package/src/components/RadioButton/RadioButton.stories.tsx +183 -0
- package/src/components/RadioButton/RadioButton.tsx +85 -0
- package/src/components/RadioButton/index.ts +3 -0
- package/src/components/RadioButtonGroup/README.md +31 -0
- package/src/components/RadioButtonGroup/RadioButtonGroup-test.js +65 -0
- package/src/components/RadioButtonGroup/RadioButtonGroup.js +172 -0
- package/src/components/RadioButtonGroup/RadioButtonGroupWithoutControls.js +44 -0
- package/src/components/RadioButtonGroup/index.js +1 -0
- package/src/components/ReactSelect/README.mdx +33 -0
- package/src/components/ReactSelect/ReactSelect.stories.tsx +56 -0
- package/src/components/ReadMore/README.mdx +30 -0
- package/src/components/ReadMore/ReadMore-test.js +17 -0
- package/src/components/ReadMore/ReadMore.stories.tsx +37 -0
- package/src/components/ReadMore/ReadMore.tsx +185 -0
- package/src/components/ReadMore/index.js +1 -0
- package/src/components/Search/README.mdx +22 -0
- package/src/components/Search/Search-test.js +178 -0
- package/src/components/Search/Search.stories.tsx +112 -0
- package/src/components/Search/Search.tsx +177 -0
- package/src/components/Search/index.ts +2 -0
- package/src/components/SecondaryNavigation/README.mdx +1 -0
- package/src/components/SecondaryNavigation/SecondaryNavigation-old.js +80 -0
- package/src/components/SecondaryNavigation/SecondaryNavigation-test.js +27 -0
- package/src/components/SecondaryNavigation/SecondaryNavigation.hbs +35 -0
- package/src/components/SecondaryNavigation/SecondaryNavigation.stories.tsx +133 -0
- package/src/components/SecondaryNavigation/SecondaryNavigation.tsx +56 -0
- package/src/components/SecondaryNavigation/SecondaryNavigationTitle.tsx +24 -0
- package/src/components/SecondaryNavigation/index.js +2 -0
- package/src/components/Select/README.mdx +17 -0
- package/src/components/Select/Select-test.js +165 -0
- package/src/components/Select/Select.Skeleton.js +25 -0
- package/src/components/Select/Select.stories.tsx +54 -0
- package/src/components/Select/Select.tsx +98 -0
- package/src/components/Select/index.ts +1 -0
- package/src/components/SelectItem/SelectItem-old.js +40 -0
- package/src/components/SelectItem/SelectItem-test.js +45 -0
- package/src/components/SelectItem/SelectItem.tsx +57 -0
- package/src/components/SelectItem/index.ts +1 -0
- package/src/components/SelectItemGroup/SelectItemGroup-test.js +34 -0
- package/src/components/SelectItemGroup/SelectItemGroup.tsx +40 -0
- package/src/components/SelectItemGroup/index.ts +1 -0
- package/src/components/Sidebar/PHONEBOOK.json +1101 -0
- package/src/components/Sidebar/README.mdx +0 -0
- package/src/components/Sidebar/Sidebar-test.js +55 -0
- package/src/components/Sidebar/Sidebar.stories.tsx.new +430 -0
- package/src/components/Sidebar/Sidebar.tsx +164 -0
- package/src/components/Sidebar/index.ts +8 -0
- package/src/components/SkeletonText/README.mdx +29 -0
- package/src/components/SkeletonText/SkeletonText-old.js +95 -0
- package/src/components/SkeletonText/SkeletonText-test.js +23 -0
- package/src/components/SkeletonText/SkeletonText.stories.tsx +19 -0
- package/src/components/SkeletonText/SkeletonText.tsx +90 -0
- package/src/components/SkeletonText/index.ts +1 -0
- package/src/components/Slider/README.mdx +21 -0
- package/src/components/Slider/Slider-old.js +315 -0
- package/src/components/Slider/Slider-test.js +145 -0
- package/src/components/Slider/Slider.Skeleton.jsx +29 -0
- package/src/components/Slider/Slider.legacy.js +476 -0
- package/src/components/Slider/Slider.stories.tsx +116 -0
- package/src/components/Slider/Slider.tsx +242 -0
- package/src/components/Slider/index.ts +2 -0
- package/src/components/StepNavigation/README.mdx +16 -0
- package/src/components/StepNavigation/StepNavigation-test.js +20 -0
- package/src/components/StepNavigation/StepNavigation.Skeleton.tsx +33 -0
- package/src/components/StepNavigation/StepNavigation.hbs +14 -0
- package/src/components/StepNavigation/StepNavigation.stories.tsx +131 -0
- package/src/components/StepNavigation/StepNavigation.tsx +159 -0
- package/src/components/StepNavigation/index.ts +2 -0
- package/src/components/StepNavigationItem/StepNavigationItem-test.js +24 -0
- package/src/components/StepNavigationItem/StepNavigationItem.tsx +155 -0
- package/src/components/StepNavigationItem/index.ts +1 -0
- package/src/components/Story/README.mdx +27 -0
- package/src/components/Story/Story-text.js +22 -0
- package/src/components/Story/Story.hbs +12 -0
- package/src/components/Story/Story.stories.tsx +109 -0
- package/src/components/Story/Story.tsx +25 -0
- package/src/components/Story/index.ts +1 -0
- package/src/components/SubNavigation/README.mdx +111 -0
- package/src/components/SubNavigation/SubNavigation-test.js +161 -0
- package/src/components/SubNavigation/SubNavigation.stories.tsx +249 -0
- package/src/components/SubNavigation/SubNavigation.tsx +6 -0
- package/src/components/SubNavigation/SubNavigationContent.tsx +26 -0
- package/src/components/SubNavigation/SubNavigationFilter.tsx +26 -0
- package/src/components/SubNavigation/SubNavigationGroup.tsx +48 -0
- package/src/components/SubNavigation/SubNavigationHeader.tsx +26 -0
- package/src/components/SubNavigation/SubNavigationItem.tsx +25 -0
- package/src/components/SubNavigation/SubNavigationLink.tsx +25 -0
- package/src/components/SubNavigation/SubNavigationList.tsx +25 -0
- package/src/components/SubNavigation/SubNavigationTitle.tsx +26 -0
- package/src/components/SubNavigation/index.ts +9 -0
- package/src/components/Tab/Tab-oldClass.js +209 -0
- package/src/components/Tab/Tab-oldFunc.js +206 -0
- package/src/components/Tab/Tab-test.js +93 -0
- package/src/components/Tab/Tab.tsx +149 -0
- package/src/components/Tab/index.ts +3 -0
- package/src/components/Tab/useTab.tsx +89 -0
- package/src/components/TabContent/TabContent-old.js +30 -0
- package/src/components/TabContent/TabContent-test.js +28 -0
- package/src/components/TabContent/TabContent.tsx +26 -0
- package/src/components/TabContent/index.ts +1 -0
- package/src/components/Table/README.mdx +0 -0
- package/src/components/Table/Table-test.js +22 -0
- package/src/components/Table/Table.stories.tsx +524 -0
- package/src/components/Table/Table.tsx +34 -0
- package/src/components/Table/TableResponsive-story-legacy.js +216 -0
- package/src/components/Table/TableSimple-story-legacy.js +39 -0
- package/src/components/Table/TableSorting.tsx +31 -0
- package/src/components/Table/index.ts +2 -0
- package/src/components/Table/makeData.js +75 -0
- package/src/components/TablePagination/TablePagination.tsx +98 -0
- package/src/components/TablePagination/index.ts +1 -0
- package/src/components/Tabs/README.mdx +113 -0
- package/src/components/Tabs/Tabs-old.js.legacy +281 -0
- package/src/components/Tabs/Tabs-test.js +284 -0
- package/src/components/Tabs/Tabs.Skeleton.jsx +33 -0
- package/src/components/Tabs/Tabs.hbs +14 -0
- package/src/components/Tabs/Tabs.stories.tsx +73 -0
- package/src/components/Tabs/Tabs.tsx +270 -0
- package/src/components/Tabs/TabsContext.ts +15 -0
- package/src/components/Tabs/index.ts +2 -0
- package/src/components/Tag/README.mdx +19 -0
- package/src/components/Tag/Tag-test.js +42 -0
- package/src/components/Tag/Tag.Skeleton.jsx +9 -0
- package/src/components/Tag/Tag.stories.tsx +20 -0
- package/src/components/Tag/Tag.tsx +46 -0
- package/src/components/Tag/index.ts +3 -0
- package/src/components/Tag/tag.config.js +69 -0
- package/src/components/Tag/tag.hbs +10 -0
- package/src/components/Text/README.mdx +57 -0
- package/src/components/Text/Text-test.js +19 -0
- package/src/components/Text/Text.js.legacy +102 -0
- package/src/components/Text/Text.stories.tsx +390 -0
- package/src/components/Text/Text.tsx +81 -0
- package/src/components/Text/index.ts +2 -0
- package/src/components/TextArea/README.mdx +3 -0
- package/src/components/TextArea/TextArea-old.js +207 -0
- package/src/components/TextArea/TextArea-test.js +167 -0
- package/src/components/TextArea/TextArea.Skeleton.jsx +21 -0
- package/src/components/TextArea/TextArea.stories.tsx +43 -0
- package/src/components/TextArea/TextArea.tsx +40 -0
- package/src/components/TextArea/index.ts +2 -0
- package/src/components/TextInput/README.mdx +3 -0
- package/src/components/TextInput/TextInput-old.js +162 -0
- package/src/components/TextInput/TextInput-test.js +156 -0
- package/src/components/TextInput/TextInput.Skeleton.jsx +21 -0
- package/src/components/TextInput/TextInput.hbs +4 -0
- package/src/components/TextInput/TextInput.legacy.js +162 -0
- package/src/components/TextInput/TextInput.stories.tsx +80 -0
- package/src/components/TextInput/TextInput.tsx +52 -0
- package/src/components/TextInput/index.ts +2 -0
- package/src/components/Toggle/README.mdx +4 -0
- package/src/components/Toggle/Toggle-old.js +113 -0
- package/src/components/Toggle/Toggle-test.js +114 -0
- package/src/components/Toggle/Toggle.Skeleton.jsx +18 -0
- package/src/components/Toggle/Toggle.stories.tsx +21 -0
- package/src/components/Toggle/Toggle.tsx +113 -0
- package/src/components/Toggle/index.ts +2 -0
- package/src/components/Tooltip/Empty.js +5 -0
- package/src/components/Tooltip/README.mdx +1 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +99 -0
- package/src/components/Tooltip/Tooltip.tsx +235 -0
- package/src/components/Tooltip/_mixins.scss +107 -0
- package/src/components/Tooltip/_tooltip.legacy.scss +58 -0
- package/src/components/Tooltip/_tooltip.scss +112 -0
- package/src/components/Tooltip/_vars.scss +6 -0
- package/src/components/Tooltip/animations/fade.scss +10 -0
- package/src/components/Tooltip/backdrop.scss +66 -0
- package/src/components/Tooltip/index.tsx +2 -0
- package/src/components/Tooltip/legacy/_mixins.scss +191 -0
- package/src/components/Tooltip/legacy/_tooltip.scss +70 -0
- package/src/components/Tooltip/legacy/_vars.scss +5 -0
- package/src/components/Tooltip/legacy/themes/light.scss +30 -0
- package/src/components/Tooltip/svg-arrow.scss +37 -0
- package/src/components/Tooltip/themes/light-border.scss +158 -0
- package/src/components/Tooltip/themes/light.scss +28 -0
- package/src/components/Unit/InvalidUnit.tsx +11 -0
- package/src/components/Unit/README.mdx +1 -0
- package/src/components/Unit/SimpleCalc.tsx +49 -0
- package/src/components/Unit/StringUnit.tsx +13 -0
- package/src/components/Unit/SvgUnit.tsx +22 -0
- package/src/components/Unit/Unit-old.js +138 -0
- package/src/components/Unit/Unit-test.js +18 -0
- package/src/components/Unit/Unit.hbs +1 -0
- package/src/components/Unit/Unit.stories.tsx +161 -0
- package/src/components/Unit/Unit.tsx +158 -0
- package/src/components/Unit/UnitList.tsx +84 -0
- package/src/components/Unit/YearMonthCalc.tsx +59 -0
- package/src/components/Unit/currencyCalc.tsx +124 -0
- package/src/components/Unit/index.js +1 -0
- package/src/components/Unit/percentageCalc.tsx +73 -0
- package/src/components/Unit/scaleLookup.tsx +19 -0
- package/src/components/User/README.mdx +1 -0
- package/src/components/User/User-test.js +50 -0
- package/src/components/User/User.hbs +8 -0
- package/src/components/User/User.stories.tsx +100 -0
- package/src/components/User/User.tsx +111 -0
- package/src/components/User/index.ts +1 -0
- package/src/components/Value/README.mdx +1 -0
- package/src/components/Value/Value-test.js +28 -0
- package/src/components/Value/Value.stories.tsx +28 -0
- package/src/components/Value/Value.tsx +34 -0
- package/src/components/Value/index.ts +1 -0
- package/src/components/WFPCoreSettings/WFPCoreProvider.tsx +125 -0
- package/src/components/WFPCoreSettings/defaults.ts +3 -0
- package/src/components/WFPCoreSettings/index.ts +4 -0
- package/src/components/WFPCoreSettings/useTheme.tsx +7 -0
- package/src/components/WFPCoreSettings/withWFPCoreSettings.tsx +12 -0
- package/src/components/Wrapper/README.mdx +11 -0
- package/src/components/Wrapper/Wrapper-test.js +51 -0
- package/src/components/Wrapper/Wrapper.stories.tsx +26 -0
- package/src/components/Wrapper/Wrapper.test.tsx +94 -0
- package/src/components/Wrapper/Wrapper.tsx +86 -0
- package/src/components/Wrapper/__snapshots__/Wrapper.test.tsx.snap +11 -0
- package/src/components/Wrapper/index.ts +2 -0
- package/src/globals/data/colors.js +716 -0
- package/src/globals/data/colors.json +273 -0
- package/src/globals/js/boot.js +39 -0
- package/src/globals/js/components.js +36 -0
- package/src/globals/js/index.js +1 -0
- package/src/globals/js/misc/event-matches.js +29 -0
- package/src/globals/js/misc/get-launching-details.js +24 -0
- package/src/globals/js/misc/mixin.js +30 -0
- package/src/globals/js/misc/on.js +9 -0
- package/src/globals/js/misc/resize.js +53 -0
- package/src/globals/js/misc/svg-toggle-class.js +23 -0
- package/src/globals/js/mixins/README.md +207 -0
- package/src/globals/js/mixins/create-component.js +69 -0
- package/src/globals/js/mixins/evented-show-hide-state.js +40 -0
- package/src/globals/js/mixins/evented-state.js +124 -0
- package/src/globals/js/mixins/handles.js +45 -0
- package/src/globals/js/mixins/init-component-by-event.js +84 -0
- package/src/globals/js/mixins/init-component-by-launcher.js +89 -0
- package/src/globals/js/mixins/init-component-by-search.js +41 -0
- package/src/globals/js/mixins/track-blur.js +45 -0
- package/src/globals/js/settings.tsx +49 -0
- package/src/globals/js/watch.js +95 -0
- package/src/globals/scss/styles.scss +146 -0
- package/src/hooks/index.js +1 -0
- package/src/hooks/togglable.js +12 -0
- package/src/hooks/useHeightTransition.ts +33 -0
- package/src/hooks/useId.ts +14 -0
- package/src/hooks/useIsomorphicLayoutEffect.tsx +14 -0
- package/src/hooks/useMediaQuery.tsx +79 -0
- package/src/hooks/useMergeRef.ts +24 -0
- package/src/hooks/useSettings.tsx +20 -0
- package/src/hooks/useWizard.js +77 -0
- package/src/index.ts +185 -0
- package/src/indexStories.ts +44 -0
- package/src/internal/FeatureFlags.js +21 -0
- package/src/internal/FloatingMenu.js +352 -0
- package/src/internal/OptimizedResize.js +54 -0
- package/src/internal/RfFormJest.js +45 -0
- package/src/internal/RfFormWrapper.js +86 -0
- package/src/internal/configureStore.js +13 -0
- package/src/internal/loadDefaultData.js +20 -0
- package/src/internal/useDetectPrint.js.legacy +20 -0
- package/src/internal/withTests.js +7 -0
- package/src/prop-types/types.ts +32 -0
- package/src/tools/__tests__/uniqueId.test.ts +16 -0
- package/src/tools/mergeRefs.js +23 -0
- package/src/tools/setupGetInstanceId.js +10 -0
- package/src/tools/uniqueId.ts +8 -0
- package/src/tools/withState.js +21 -0
- package/src/tools/wrapComponent.js +23 -0
- package/src/utils/index.d.ts +138 -0
- package/umd/dist/components/Accordion/__tests__/utils.d.ts +12 -0
- package/umd/dist/components/Accordion/components/Accordion.d.ts +7 -0
- package/umd/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
- package/umd/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
- package/umd/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
- package/umd/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
- package/umd/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
- package/umd/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
- package/umd/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
- package/umd/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
- package/umd/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
- package/umd/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
- package/umd/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
- package/umd/dist/components/Accordion/hooks/useId.d.ts +3 -0
- package/umd/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
- package/umd/dist/components/Accordion/index.d.ts +17 -0
- package/umd/dist/components/Accordion/utils/bem.d.ts +7 -0
- package/umd/dist/components/Accordion/utils/constants.d.ts +58 -0
- package/umd/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
- package/umd/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/umd/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
- package/umd/dist/components/AnchorNavigation/index.d.ts +1 -0
- package/umd/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
- package/umd/dist/components/AuthLayout/index.d.ts +1 -0
- package/umd/dist/components/Avatar/Avatar.d.ts +33 -0
- package/umd/dist/components/Avatar/index.d.ts +1 -0
- package/umd/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
- package/umd/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
- package/umd/dist/components/BannerNavigation/index.d.ts +2 -0
- package/umd/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
- package/umd/dist/components/Breadcrumb/index.d.ts +1 -0
- package/umd/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
- package/umd/dist/components/BreadcrumbHome/index.d.ts +1 -0
- package/umd/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
- package/umd/dist/components/BreadcrumbItem/index.d.ts +1 -0
- package/umd/dist/components/Button/Button.Skeleton.d.ts +7 -0
- package/umd/dist/components/Button/Button.d.ts +55 -0
- package/umd/dist/components/Button/index.d.ts +1 -0
- package/umd/dist/components/Card/Card.d.ts +61 -0
- package/umd/dist/components/Card/CardExternal.d.ts +37 -0
- package/umd/dist/components/Card/index.d.ts +2 -0
- package/umd/dist/components/Checkbox/Checkbox.d.ts +37 -0
- package/umd/dist/components/Checkbox/index.d.ts +1 -0
- package/umd/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
- package/umd/dist/components/ContentSwitcher/index.d.ts +1 -0
- package/umd/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
- package/umd/dist/components/ContextMenu/index.d.ts +1 -0
- package/umd/dist/components/Credits/Credits.d.ts +10 -0
- package/umd/dist/components/Credits/index.d.ts +1 -0
- package/umd/dist/components/DatePicker/DatePicker.d.ts +8 -0
- package/umd/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
- package/umd/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
- package/umd/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
- package/umd/dist/components/DatePicker/index.d.ts +4 -0
- package/umd/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
- package/umd/dist/components/Empty/Empty.d.ts +40 -0
- package/umd/dist/components/Empty/index.d.ts +1 -0
- package/umd/dist/components/Footer/Footer.d.ts +47 -0
- package/umd/dist/components/Footer/FooterExternal.d.ts +22 -0
- package/umd/dist/components/Footer/index.d.ts +2 -0
- package/umd/dist/components/Form/Form.d.ts +15 -0
- package/umd/dist/components/Form/index.d.ts +1 -0
- package/umd/dist/components/FormGroup/FormGroup.d.ts +14 -0
- package/umd/dist/components/FormGroup/index.d.ts +1 -0
- package/umd/dist/components/FormHint/FormHint.d.ts +15 -0
- package/umd/dist/components/FormHint/index.d.ts +1 -0
- package/umd/dist/components/FormItem/FormItem.d.ts +17 -0
- package/umd/dist/components/FormItem/index.d.ts +1 -0
- package/umd/dist/components/FormLabel/FormLabel.d.ts +15 -0
- package/umd/dist/components/FormLabel/index.d.ts +1 -0
- package/umd/dist/components/Hero/Hero.d.ts +53 -0
- package/umd/dist/components/Hero/HeroExternal.d.ts +22 -0
- package/umd/dist/components/Hero/index.d.ts +2 -0
- package/umd/dist/components/InfoBar/InfoBar.d.ts +23 -0
- package/umd/dist/components/InfoBar/index.d.ts +1 -0
- package/umd/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
- package/umd/dist/components/InlineLoading/index.d.ts +1 -0
- package/umd/dist/components/Input/Input.d.ts +152 -0
- package/umd/dist/components/Input/index.d.ts +3 -0
- package/umd/dist/components/Input/useInput.d.ts +123 -0
- package/umd/dist/components/InputGroup/InputGroup.d.ts +48 -0
- package/umd/dist/components/InputGroup/index.d.ts +1 -0
- package/umd/dist/components/Item/Item.d.ts +59 -0
- package/umd/dist/components/Item/index.d.ts +1 -0
- package/umd/dist/components/Link/Link.d.ts +37 -0
- package/umd/dist/components/Link/index.d.ts +1 -0
- package/umd/dist/components/List/List.d.ts +32 -0
- package/umd/dist/components/List/ListItem.d.ts +25 -0
- package/umd/dist/components/List/index.d.ts +2 -0
- package/umd/dist/components/Loading/Loading.d.ts +16 -0
- package/umd/dist/components/Loading/index.d.ts +7 -0
- package/umd/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
- package/umd/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
- package/umd/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
- package/umd/dist/components/MainNavigation/MobileButton.d.ts +17 -0
- package/umd/dist/components/MainNavigation/index.d.ts +4 -0
- package/umd/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
- package/umd/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
- package/umd/dist/components/MainNavigationItem/index.d.ts +1 -0
- package/umd/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
- package/umd/dist/components/MdxComponents/index.d.ts +1 -0
- package/umd/dist/components/Modal/Modal.d.ts +122 -0
- package/umd/dist/components/Modal/ModalFooter.d.ts +8 -0
- package/umd/dist/components/Modal/index.d.ts +2 -0
- package/umd/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
- package/umd/dist/components/ModalWrapper/index.d.ts +1 -0
- package/umd/dist/components/Module/Module.d.ts +38 -0
- package/umd/dist/components/Module/ModuleBody.d.ts +21 -0
- package/umd/dist/components/Module/ModuleFooter.d.ts +10 -0
- package/umd/dist/components/Module/ModuleHeader.d.ts +16 -0
- package/umd/dist/components/Module/index.d.ts +4 -0
- package/umd/dist/components/Notification/Callout.d.ts +59 -0
- package/umd/dist/components/Notification/NotificationActionButton.d.ts +18 -0
- package/umd/dist/components/Notification/NotificationButton.d.ts +36 -0
- package/umd/dist/components/Notification/NotificationIcon.d.ts +8 -0
- package/umd/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
- package/umd/dist/components/Notification/ToastNotification.d.ts +10 -0
- package/umd/dist/components/Notification/index.d.ts +5 -0
- package/umd/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
- package/umd/dist/components/NumberInput/NumberInput.d.ts +64 -0
- package/umd/dist/components/NumberInput/index.d.ts +2 -0
- package/umd/dist/components/Pagination/Pagination.d.ts +92 -0
- package/umd/dist/components/Pagination/index.d.ts +1 -0
- package/umd/dist/components/RadioButton/RadioButton.d.ts +27 -0
- package/umd/dist/components/RadioButton/index.d.ts +2 -0
- package/umd/dist/components/ReadMore/ReadMore.d.ts +45 -0
- package/umd/dist/components/ReadMore/index.d.ts +1 -0
- package/umd/dist/components/Search/Search.d.ts +50 -0
- package/umd/dist/components/Search/index.d.ts +1 -0
- package/umd/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
- package/umd/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
- package/umd/dist/components/SecondaryNavigation/index.d.ts +2 -0
- package/umd/dist/components/Select/Select.d.ts +24 -0
- package/umd/dist/components/Select/index.d.ts +1 -0
- package/umd/dist/components/SelectItem/SelectItem.d.ts +28 -0
- package/umd/dist/components/SelectItem/index.d.ts +1 -0
- package/umd/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
- package/umd/dist/components/SelectItemGroup/index.d.ts +1 -0
- package/umd/dist/components/Sidebar/Sidebar.d.ts +46 -0
- package/umd/dist/components/Sidebar/index.d.ts +1 -0
- package/umd/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
- package/umd/dist/components/SkeletonText/index.d.ts +1 -0
- package/umd/dist/components/Slider/Slider.d.ts +71 -0
- package/umd/dist/components/Slider/index.d.ts +1 -0
- package/umd/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
- package/umd/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
- package/umd/dist/components/StepNavigation/index.d.ts +2 -0
- package/umd/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
- package/umd/dist/components/StepNavigationItem/index.d.ts +1 -0
- package/umd/dist/components/Story/Story.d.ts +7 -0
- package/umd/dist/components/Story/index.d.ts +1 -0
- package/umd/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
- package/umd/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
- package/umd/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
- package/umd/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
- package/umd/dist/components/SubNavigation/index.d.ts +9 -0
- package/umd/dist/components/Tab/Tab.d.ts +83 -0
- package/umd/dist/components/Tab/index.d.ts +2 -0
- package/umd/dist/components/Tab/useTab.d.ts +12 -0
- package/umd/dist/components/TabContent/TabContent.d.ts +13 -0
- package/umd/dist/components/TabContent/index.d.ts +1 -0
- package/umd/dist/components/Table/Table.d.ts +8 -0
- package/umd/dist/components/Table/TableSorting.d.ts +11 -0
- package/umd/dist/components/Table/index.d.ts +2 -0
- package/umd/dist/components/TablePagination/TablePagination.d.ts +33 -0
- package/umd/dist/components/TablePagination/index.d.ts +1 -0
- package/umd/dist/components/Tabs/Tabs.d.ts +67 -0
- package/umd/dist/components/Tabs/TabsContext.d.ts +8 -0
- package/umd/dist/components/Tabs/index.d.ts +1 -0
- package/umd/dist/components/Tag/Tag.d.ts +14 -0
- package/umd/dist/components/Tag/index.d.ts +2 -0
- package/umd/dist/components/Text/Text.d.ts +30 -0
- package/umd/dist/components/Text/index.d.ts +1 -0
- package/umd/dist/components/TextArea/TextArea.d.ts +8 -0
- package/umd/dist/components/TextArea/index.d.ts +1 -0
- package/umd/dist/components/TextInput/TextInput.d.ts +7 -0
- package/umd/dist/components/TextInput/index.d.ts +1 -0
- package/umd/dist/components/Toggle/Toggle.d.ts +38 -0
- package/umd/dist/components/Toggle/index.d.ts +1 -0
- package/umd/dist/components/Tooltip/Tooltip.d.ts +103 -0
- package/umd/dist/components/Tooltip/index.d.ts +2 -0
- package/umd/dist/components/UNCoreSettings/UNCoreProvider.d.ts +21 -0
- package/umd/dist/components/UNCoreSettings/defaults.d.ts +2 -0
- package/umd/dist/components/UNCoreSettings/index.d.ts +4 -0
- package/umd/dist/components/UNCoreSettings/useTheme.d.ts +2 -0
- package/umd/dist/components/UNCoreSettings/withUNCoreSettings.d.ts +2 -0
- package/umd/dist/components/Unit/InvalidUnit.d.ts +2 -0
- package/umd/dist/components/Unit/SimpleCalc.d.ts +17 -0
- package/umd/dist/components/Unit/StringUnit.d.ts +2 -0
- package/umd/dist/components/Unit/SvgUnit.d.ts +2 -0
- package/umd/dist/components/Unit/Unit.d.ts +54 -0
- package/umd/dist/components/Unit/UnitList.d.ts +96 -0
- package/umd/dist/components/Unit/YearMonthCalc.d.ts +7 -0
- package/umd/dist/components/Unit/currencyCalc.d.ts +21 -0
- package/umd/dist/components/Unit/index.d.ts +1 -0
- package/umd/dist/components/Unit/percentageCalc.d.ts +18 -0
- package/umd/dist/components/Unit/scaleLookup.d.ts +24 -0
- package/umd/dist/components/User/User.d.ts +55 -0
- package/umd/dist/components/User/index.d.ts +1 -0
- package/umd/dist/components/Value/Value.d.ts +11 -0
- package/umd/dist/components/Value/index.d.ts +1 -0
- package/umd/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
- package/umd/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
- package/umd/dist/components/WFPCoreSettings/index.d.ts +4 -0
- package/umd/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
- package/umd/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
- package/umd/dist/components/Wrapper/Wrapper.d.ts +22 -0
- package/umd/dist/components/Wrapper/index.d.ts +2 -0
- package/umd/dist/globals/data/colors.d.ts +609 -0
- package/umd/dist/globals/js/settings.d.ts +34 -0
- package/umd/dist/hooks/index.d.ts +1 -0
- package/umd/dist/hooks/togglable.d.ts +5 -0
- package/umd/dist/hooks/useHeightTransition.d.ts +4 -0
- package/umd/dist/hooks/useId.d.ts +3 -0
- package/umd/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
- package/umd/dist/hooks/useMediaQuery.d.ts +19 -0
- package/umd/dist/hooks/useMergeRef.d.ts +4 -0
- package/umd/dist/hooks/useSettings.d.ts +2 -0
- package/umd/dist/index.d.ts +75 -0
- package/umd/dist/indexStories.d.ts +1 -0
- package/umd/dist/internal/FeatureFlags.d.ts +19 -0
- package/umd/dist/prop-types/types.d.ts +5 -0
- package/umd/dist/tools/uniqueId.d.ts +2 -0
- package/umd/index.js +5470 -0
- package/umd/index.js.map +1 -0
- package/umd/index.min.js +1 -0
- package/umd/index.min.js.map +1 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { TransitionState } from "react-transition-state";
|
|
3
|
+
import {
|
|
4
|
+
ACCORDION_BLOCK,
|
|
5
|
+
ElementProps,
|
|
6
|
+
ItemState,
|
|
7
|
+
ItemStateOptions,
|
|
8
|
+
} from "../utils/constants";
|
|
9
|
+
import { bem } from "../utils/bem";
|
|
10
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
11
|
+
import useSettings from "../../../hooks/useSettings";
|
|
12
|
+
import { useAccordionItem } from "../hooks/useAccordionItem";
|
|
13
|
+
import { useHeightTransition } from "../../../hooks/useHeightTransition";
|
|
14
|
+
import { useMergeRef } from "../../../hooks/useMergeRef";
|
|
15
|
+
import { ChevronDown } from "@progressiveui/icons-react";
|
|
16
|
+
import { withAccordionItem, ItemStateProps } from "./withAccordionItem";
|
|
17
|
+
import classNames from "classnames";
|
|
18
|
+
|
|
19
|
+
interface ItemElementProps<E extends HTMLElement>
|
|
20
|
+
extends ElementProps<E, TransitionState> {
|
|
21
|
+
ref?: React.ForwardedRef<E>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type NodeOrFunc = React.ReactNode | ((props: ItemState) => React.ReactNode);
|
|
25
|
+
|
|
26
|
+
interface AccordionItemProps
|
|
27
|
+
extends ItemStateOptions,
|
|
28
|
+
ElementProps<HTMLDivElement, TransitionState> {
|
|
29
|
+
/**
|
|
30
|
+
* Either a React node or a function that returns a React node.
|
|
31
|
+
* This property defines the content of the accordion item's header.
|
|
32
|
+
*/
|
|
33
|
+
header?: NodeOrFunc;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Can be either a React node or a function that returns a React node.
|
|
37
|
+
* This property defines the main content of the accordion item.
|
|
38
|
+
*/
|
|
39
|
+
children?: NodeOrFunc;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Specifies the HTML tag to be used for the heading element of the accordion item.
|
|
43
|
+
* It can be any of the heading tags from 'h1' to 'h6'.
|
|
44
|
+
*/
|
|
45
|
+
headingTag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Properties to be passed to the heading element of the accordion item.
|
|
49
|
+
* It extends from `ItemElementProps` which includes standard HTML attributes and a ref.
|
|
50
|
+
*/
|
|
51
|
+
headingProps?: ItemElementProps<HTMLHeadingElement>;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Properties to be passed to the button element within the accordion item.
|
|
55
|
+
* It extends from `ItemElementProps` which includes standard HTML attributes and a ref.
|
|
56
|
+
*/
|
|
57
|
+
buttonProps?: ItemElementProps<HTMLButtonElement>;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Properties to be passed to the content container element of the accordion item.
|
|
61
|
+
* It extends from `ItemElementProps` which includes standard HTML attributes and a ref.
|
|
62
|
+
*/
|
|
63
|
+
contentProps?: ItemElementProps<HTMLDivElement>;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Properties to be passed to the panel element inside the content container of the accordion item.
|
|
67
|
+
* It extends from `ItemElementProps` which includes standard HTML attributes and a ref.
|
|
68
|
+
*/
|
|
69
|
+
panelProps?: ItemElementProps<HTMLDivElement>;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
interface WrappedItemProps<E extends Element>
|
|
73
|
+
extends ItemStateProps<E>,
|
|
74
|
+
Omit<AccordionItemProps, "itemRef" | "itemKey" | "initialEntered"> {}
|
|
75
|
+
|
|
76
|
+
const getRenderNode: <P>(
|
|
77
|
+
nodeOrFunc: React.ReactNode | ((props: P) => React.ReactNode),
|
|
78
|
+
props: P
|
|
79
|
+
) => React.ReactNode = (nodeOrFunc, props) =>
|
|
80
|
+
typeof nodeOrFunc === "function" ? nodeOrFunc(props) : nodeOrFunc;
|
|
81
|
+
|
|
82
|
+
const WrappedItem = React.memo(
|
|
83
|
+
({
|
|
84
|
+
forwardedRef,
|
|
85
|
+
itemRef,
|
|
86
|
+
state,
|
|
87
|
+
toggle,
|
|
88
|
+
className,
|
|
89
|
+
disabled,
|
|
90
|
+
header,
|
|
91
|
+
headingTag: Heading = "h3",
|
|
92
|
+
headingProps,
|
|
93
|
+
buttonProps,
|
|
94
|
+
contentProps,
|
|
95
|
+
panelProps,
|
|
96
|
+
children,
|
|
97
|
+
...rest
|
|
98
|
+
}: WrappedItemProps<HTMLDivElement>) => {
|
|
99
|
+
const itemState: ItemState = { state, toggle, disabled };
|
|
100
|
+
const { buttonProps: _buttonProps, panelProps: _panelProps } =
|
|
101
|
+
useAccordionItem(itemState);
|
|
102
|
+
const [transitionStyle, _panelRef] =
|
|
103
|
+
useHeightTransition<HTMLDivElement>(state);
|
|
104
|
+
const panelRef = useMergeRef(panelProps && panelProps.ref, _panelRef);
|
|
105
|
+
const { status, isMounted, isEnter } = state;
|
|
106
|
+
|
|
107
|
+
const { prefix } = useSettings();
|
|
108
|
+
|
|
109
|
+
const buttonClasses = classNames(`${prefix}--accordion--button`, {
|
|
110
|
+
[`${prefix}--accordion--button__expanded`]: isEnter,
|
|
111
|
+
// [`${className}`]: className,
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<div
|
|
116
|
+
{...rest}
|
|
117
|
+
ref={useMergeRef(forwardedRef, itemRef)}
|
|
118
|
+
className={bem(ACCORDION_BLOCK, "item", { status, expanded: isEnter })(
|
|
119
|
+
className,
|
|
120
|
+
state
|
|
121
|
+
)}
|
|
122
|
+
>
|
|
123
|
+
<Heading
|
|
124
|
+
{...headingProps}
|
|
125
|
+
style={{ margin: 0, ...(headingProps && headingProps.style) }}
|
|
126
|
+
className={bem(ACCORDION_BLOCK, "item-heading")(
|
|
127
|
+
headingProps && headingProps.className,
|
|
128
|
+
state
|
|
129
|
+
)}
|
|
130
|
+
>
|
|
131
|
+
<button
|
|
132
|
+
{...mergeProps(_buttonProps, buttonProps)}
|
|
133
|
+
type="button"
|
|
134
|
+
className={bem(ACCORDION_BLOCK, "item-btn")(
|
|
135
|
+
buttonProps && buttonProps.className,
|
|
136
|
+
state
|
|
137
|
+
)}
|
|
138
|
+
>
|
|
139
|
+
<ChevronDown description="open" className={buttonClasses} />
|
|
140
|
+
{getRenderNode(header, itemState)}
|
|
141
|
+
</button>
|
|
142
|
+
</Heading>
|
|
143
|
+
|
|
144
|
+
{isMounted && (
|
|
145
|
+
<div
|
|
146
|
+
{...contentProps}
|
|
147
|
+
style={{
|
|
148
|
+
display: status === "exited" ? "none" : undefined,
|
|
149
|
+
...transitionStyle,
|
|
150
|
+
...(contentProps && contentProps.style),
|
|
151
|
+
}}
|
|
152
|
+
className={bem(ACCORDION_BLOCK, "item-content")(
|
|
153
|
+
contentProps && contentProps.className,
|
|
154
|
+
state
|
|
155
|
+
)}
|
|
156
|
+
>
|
|
157
|
+
<div
|
|
158
|
+
{...mergeProps(_panelProps, panelProps)}
|
|
159
|
+
ref={panelRef}
|
|
160
|
+
className={bem(ACCORDION_BLOCK, "item-panel")(
|
|
161
|
+
panelProps && panelProps.className,
|
|
162
|
+
state
|
|
163
|
+
)}
|
|
164
|
+
>
|
|
165
|
+
{getRenderNode(children, itemState)}
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
)}
|
|
169
|
+
</div>
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
WrappedItem.displayName = "AccordionItem";
|
|
175
|
+
const AccordionItem = withAccordionItem<AccordionItemProps, HTMLDivElement>(
|
|
176
|
+
WrappedItem
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
AccordionItem.displayName = "AccordionItem";
|
|
180
|
+
|
|
181
|
+
export { AccordionItem, AccordionItemProps };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { AccordionContext, AccordionProviderValue } from "../utils/constants";
|
|
3
|
+
|
|
4
|
+
const AccordionProvider = (props: {
|
|
5
|
+
value: AccordionProviderValue;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
}) => <AccordionContext.Provider {...props} />;
|
|
8
|
+
|
|
9
|
+
export { AccordionProvider };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import {
|
|
3
|
+
ACCORDION_BLOCK,
|
|
4
|
+
AccordionProviderValue,
|
|
5
|
+
ElementProps,
|
|
6
|
+
} from "../utils/constants";
|
|
7
|
+
import { bem } from "../utils/bem";
|
|
8
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
9
|
+
import { AccordionProvider } from "./AccordionProvider";
|
|
10
|
+
import { useAccordion } from "../hooks/useAccordion";
|
|
11
|
+
|
|
12
|
+
interface ControlledAccordionProps extends ElementProps<HTMLDivElement> {
|
|
13
|
+
providerValue: AccordionProviderValue;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const ControlledAccordion = React.forwardRef<
|
|
18
|
+
HTMLDivElement,
|
|
19
|
+
ControlledAccordionProps
|
|
20
|
+
>(({ providerValue, className, ...rest }, ref) => {
|
|
21
|
+
const { accordionProps } = useAccordion();
|
|
22
|
+
return (
|
|
23
|
+
<AccordionProvider value={providerValue}>
|
|
24
|
+
<div
|
|
25
|
+
{...mergeProps(accordionProps, rest)}
|
|
26
|
+
ref={ref}
|
|
27
|
+
className={bem(ACCORDION_BLOCK)(className)}
|
|
28
|
+
/>
|
|
29
|
+
</AccordionProvider>
|
|
30
|
+
);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
ControlledAccordion.displayName = "ControlledAccordion";
|
|
34
|
+
|
|
35
|
+
export { ControlledAccordion, ControlledAccordionProps };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ItemState, ItemStateOptions } from "../utils/constants";
|
|
3
|
+
import { useAccordionItemEffect } from "../hooks/useAccordionItemEffect";
|
|
4
|
+
|
|
5
|
+
interface ItemStateProps<E extends Element, T = E> extends ItemState {
|
|
6
|
+
itemRef: React.RefObject<E>;
|
|
7
|
+
forwardedRef: React.ForwardedRef<T>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const withAccordionItem = <
|
|
11
|
+
P extends ItemStateOptions,
|
|
12
|
+
E extends Element,
|
|
13
|
+
T = E
|
|
14
|
+
>(
|
|
15
|
+
WrappedItem: any //TODO: MemoExoticComponent<(props: ItemStateProps<E, T>) => JSX.Element>
|
|
16
|
+
) => {
|
|
17
|
+
const WithAccordionItem = React.forwardRef<T, P>(
|
|
18
|
+
({ itemKey, initialEntered, ...rest }, ref) => (
|
|
19
|
+
<WrappedItem
|
|
20
|
+
forwardedRef={ref}
|
|
21
|
+
{...rest}
|
|
22
|
+
{...useAccordionItemEffect<E>({
|
|
23
|
+
itemKey,
|
|
24
|
+
initialEntered,
|
|
25
|
+
disabled: rest.disabled,
|
|
26
|
+
})}
|
|
27
|
+
/>
|
|
28
|
+
)
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
WithAccordionItem.displayName = "withAccordionItem";
|
|
32
|
+
return WithAccordionItem;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
withAccordionItem.displayName = "withAccordionItem";
|
|
36
|
+
|
|
37
|
+
export { withAccordionItem, ItemStateProps };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
|
|
3
|
+
import { HTMLAttributes, KeyboardEvent } from 'react';
|
|
4
|
+
import { ACCORDION_ATTR, ACCORDION_BTN_ATTR } from '../utils/constants';
|
|
5
|
+
|
|
6
|
+
const getAccordion = (node: Element) => {
|
|
7
|
+
do {
|
|
8
|
+
node = node.parentElement!;
|
|
9
|
+
} while (node && !node.hasAttribute(ACCORDION_ATTR));
|
|
10
|
+
return node;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const getNextIndex = (moveUp: boolean, current: number, length: number) =>
|
|
14
|
+
moveUp ? (current > 0 ? current - 1 : length - 1) : (current + 1) % length;
|
|
15
|
+
|
|
16
|
+
const moveFocus = (moveUp: boolean, e: KeyboardEvent<Element>) => {
|
|
17
|
+
const { activeElement } = document;
|
|
18
|
+
if (
|
|
19
|
+
!activeElement ||
|
|
20
|
+
!activeElement.hasAttribute(ACCORDION_BTN_ATTR) ||
|
|
21
|
+
getAccordion(activeElement) !== e.currentTarget
|
|
22
|
+
)
|
|
23
|
+
return;
|
|
24
|
+
|
|
25
|
+
const nodes = e.currentTarget.querySelectorAll<HTMLElement>(
|
|
26
|
+
`[${ACCORDION_BTN_ATTR}]`
|
|
27
|
+
);
|
|
28
|
+
const { length } = nodes;
|
|
29
|
+
for (let i = 0; i < length; i++) {
|
|
30
|
+
if (nodes[i] === activeElement) {
|
|
31
|
+
let next = getNextIndex(moveUp, i, length);
|
|
32
|
+
while (getAccordion(nodes[i]) !== getAccordion(nodes[next]))
|
|
33
|
+
next = getNextIndex(moveUp, next, length);
|
|
34
|
+
if (i !== next) {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
nodes[next].focus();
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const useAccordion = () => {
|
|
44
|
+
const accordionProps: HTMLAttributes<Element> = {
|
|
45
|
+
[ACCORDION_ATTR]: '',
|
|
46
|
+
onKeyDown: (e) =>
|
|
47
|
+
e.key === 'ArrowUp'
|
|
48
|
+
? moveFocus(true, e)
|
|
49
|
+
: e.key === 'ArrowDown' && moveFocus(false, e),
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
accordionProps,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { useAccordion };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { TransitionState } from 'react-transition-state';
|
|
3
|
+
import { AccordionContext, AccordionProviderValue, ItemKey } from '../utils/constants';
|
|
4
|
+
|
|
5
|
+
const getItemState = (
|
|
6
|
+
providerValue: AccordionProviderValue,
|
|
7
|
+
key: ItemKey,
|
|
8
|
+
itemInitialEntered?: boolean
|
|
9
|
+
): TransitionState => {
|
|
10
|
+
const { stateMap, mountOnEnter, initialEntered } = providerValue;
|
|
11
|
+
const _initialEntered = itemInitialEntered ?? initialEntered;
|
|
12
|
+
return (
|
|
13
|
+
stateMap.get(key) || {
|
|
14
|
+
status: _initialEntered ? 'entered' : mountOnEnter ? 'unmounted' : 'exited',
|
|
15
|
+
isMounted: !mountOnEnter,
|
|
16
|
+
isEnter: _initialEntered,
|
|
17
|
+
isResolved: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const useAccordionContext = () => {
|
|
23
|
+
const context = useContext(AccordionContext);
|
|
24
|
+
if (process.env.NODE_ENV !== 'production' && !context.stateMap) {
|
|
25
|
+
throw new Error(
|
|
26
|
+
'[React-Accordion] Cannot find a <AccordionProvider/> above this AccordionItem.'
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
return context as AccordionProviderValue;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { useAccordionContext, getItemState };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MouseEventHandler, HTMLAttributes, ButtonHTMLAttributes } from "react";
|
|
2
|
+
import { ACCORDION_BTN_ATTR, ItemState } from "../utils/constants";
|
|
3
|
+
import { useId } from "../../../hooks/useId";
|
|
4
|
+
|
|
5
|
+
const useAccordionItem = ({ state, toggle, disabled }: ItemState) => {
|
|
6
|
+
const buttonId = useId();
|
|
7
|
+
const panelId = buttonId && buttonId + "-";
|
|
8
|
+
|
|
9
|
+
const buttonProps: ButtonHTMLAttributes<Element> = {
|
|
10
|
+
id: buttonId,
|
|
11
|
+
"aria-controls": panelId,
|
|
12
|
+
"aria-expanded": state.isEnter,
|
|
13
|
+
onClick: toggle as unknown as MouseEventHandler<Element>,
|
|
14
|
+
};
|
|
15
|
+
disabled
|
|
16
|
+
? (buttonProps.disabled = true)
|
|
17
|
+
: ((buttonProps as { [x: string]: string })[ACCORDION_BTN_ATTR] = "");
|
|
18
|
+
|
|
19
|
+
const panelProps: HTMLAttributes<Element> = {
|
|
20
|
+
id: panelId,
|
|
21
|
+
"aria-labelledby": buttonId,
|
|
22
|
+
role: "region",
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
buttonProps,
|
|
27
|
+
panelProps,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { useAccordionItem };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef, useCallback } from 'react';
|
|
4
|
+
import { ItemStateOptions } from '../utils/constants';
|
|
5
|
+
import { useAccordionContext, getItemState } from './useAccordionContext';
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
const useAccordionItemEffect = <E extends Element>({
|
|
9
|
+
itemKey,
|
|
10
|
+
initialEntered,
|
|
11
|
+
disabled,
|
|
12
|
+
}: ItemStateOptions = {}) => {
|
|
13
|
+
const itemRef = useRef<HTMLInputElement>(null);
|
|
14
|
+
const context = useAccordionContext();
|
|
15
|
+
const key = itemKey ?? itemRef.current!;
|
|
16
|
+
const state = getItemState(context, key, initialEntered);
|
|
17
|
+
const { setItem, deleteItem, toggle } = context;
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (disabled) return;
|
|
21
|
+
const key = itemKey ?? itemRef.current!;
|
|
22
|
+
setItem(key, { initialEntered });
|
|
23
|
+
return () => void deleteItem(key);
|
|
24
|
+
}, [setItem, deleteItem, itemKey, initialEntered, disabled]);
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
itemRef,
|
|
28
|
+
state,
|
|
29
|
+
toggle: useCallback(
|
|
30
|
+
(toEnter?: boolean) => toggle(key, toEnter),
|
|
31
|
+
[toggle, key]
|
|
32
|
+
),
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { useAccordionItemEffect };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useTransitionMap } from 'react-transition-state';
|
|
2
|
+
import {
|
|
3
|
+
TransitionProp,
|
|
4
|
+
AccordionProviderOptions,
|
|
5
|
+
AccordionProviderValue,
|
|
6
|
+
ItemKey
|
|
7
|
+
} from '../utils/constants';
|
|
8
|
+
|
|
9
|
+
const getTransition = (
|
|
10
|
+
transition: TransitionProp | undefined,
|
|
11
|
+
name: 'enter' | 'exit' | 'preEnter' | 'preExit'
|
|
12
|
+
): boolean => transition === true || !!(transition && transition[name]);
|
|
13
|
+
|
|
14
|
+
const useAccordionProvider: (options?: AccordionProviderOptions) => AccordionProviderValue = ({
|
|
15
|
+
transition,
|
|
16
|
+
transitionTimeout,
|
|
17
|
+
...rest
|
|
18
|
+
} = {}) => {
|
|
19
|
+
const transitionMap = useTransitionMap<ItemKey>({
|
|
20
|
+
timeout: transitionTimeout,
|
|
21
|
+
enter: getTransition(transition, 'enter'),
|
|
22
|
+
exit: getTransition(transition, 'exit'),
|
|
23
|
+
preEnter: getTransition(transition, 'preEnter'),
|
|
24
|
+
preExit: getTransition(transition, 'preExit'),
|
|
25
|
+
...rest
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
mountOnEnter: !!rest.mountOnEnter,
|
|
30
|
+
initialEntered: !!rest.initialEntered,
|
|
31
|
+
...transitionMap
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { useAccordionProvider };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ItemKey } from '../utils/constants';
|
|
2
|
+
import { useAccordionContext, getItemState } from './useAccordionContext';
|
|
3
|
+
|
|
4
|
+
const useAccordionState = () => {
|
|
5
|
+
const context = useAccordionContext();
|
|
6
|
+
return {
|
|
7
|
+
getItemState: (key: ItemKey, { initialEntered }: { initialEntered?: boolean } = {}) =>
|
|
8
|
+
getItemState(context, key, initialEntered),
|
|
9
|
+
toggle: context.toggle,
|
|
10
|
+
toggleAll: context.toggleAll
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { useAccordionState };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { Accordion } from "./components/Accordion";
|
|
2
|
+
export { AccordionItem } from "./components/AccordionItem";
|
|
3
|
+
export { AccordionProvider } from "./components/AccordionProvider";
|
|
4
|
+
export { ControlledAccordion } from "./components/ControlledAccordion";
|
|
5
|
+
export { withAccordionItem } from "./components/withAccordionItem";
|
|
6
|
+
export { useAccordion } from "./hooks/useAccordion";
|
|
7
|
+
export { useAccordionItem } from "./hooks/useAccordionItem";
|
|
8
|
+
export { useAccordionItemEffect } from "./hooks/useAccordionItemEffect";
|
|
9
|
+
export { useAccordionProvider } from "./hooks/useAccordionProvider";
|
|
10
|
+
export { useAccordionState } from "./hooks/useAccordionState";
|
|
11
|
+
export { useHeightTransition } from "../../hooks/useHeightTransition";
|
|
12
|
+
export { useMergeRef } from "../../hooks/useMergeRef";
|
|
13
|
+
export type { AccordionProps } from "./components/Accordion";
|
|
14
|
+
export type { AccordionItemProps } from "./components/AccordionItem";
|
|
15
|
+
export type { ControlledAccordionProps } from "./components/ControlledAccordion";
|
|
16
|
+
export type { ItemStateProps } from "./components/withAccordionItem";
|
|
17
|
+
export type {
|
|
18
|
+
AccordionProviderOptions,
|
|
19
|
+
AccordionProviderValue,
|
|
20
|
+
ItemState,
|
|
21
|
+
ItemStateOptions,
|
|
22
|
+
TransitionProp,
|
|
23
|
+
} from "./utils/constants";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
import { ClassNameProp, Modifiers } from './constants';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Generate className following BEM methodology: http://getbem.com/naming/
|
|
6
|
+
* Modifier value can be one of the types: boolean, string
|
|
7
|
+
*/
|
|
8
|
+
const bem =
|
|
9
|
+
(block: string, element?: string, modifiers?: Modifiers) =>
|
|
10
|
+
<P>(className?: ClassNameProp<P>, props?: P) => {
|
|
11
|
+
const blockElement = element ? `${block}__${element}` : block;
|
|
12
|
+
|
|
13
|
+
let classString = blockElement;
|
|
14
|
+
modifiers &&
|
|
15
|
+
Object.keys(modifiers).forEach((name) => {
|
|
16
|
+
const value = modifiers[name];
|
|
17
|
+
if (value)
|
|
18
|
+
classString += ` ${blockElement}--${
|
|
19
|
+
value === true ? name : `${name}-${value}`
|
|
20
|
+
}`;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
let expandedClassName =
|
|
24
|
+
typeof className === 'function' ? className(props!) : className;
|
|
25
|
+
if (typeof expandedClassName === 'string') {
|
|
26
|
+
expandedClassName = expandedClassName.trim();
|
|
27
|
+
if (expandedClassName) classString += ` ${expandedClassName}`;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return classString;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { bem };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createContext, HTMLAttributes } from "react";
|
|
2
|
+
import {
|
|
3
|
+
TransitionState,
|
|
4
|
+
TransitionMapResult,
|
|
5
|
+
TransitionMapOptions,
|
|
6
|
+
TransitionOptions,
|
|
7
|
+
} from "react-transition-state";
|
|
8
|
+
|
|
9
|
+
export const ACCORDION_BLOCK = "szh-accordion";
|
|
10
|
+
export const ACCORDION_PREFIX = "szh-adn";
|
|
11
|
+
export const ACCORDION_ATTR = `data-${ACCORDION_PREFIX}`;
|
|
12
|
+
export const ACCORDION_BTN_ATTR = `data-${ACCORDION_PREFIX}-btn`;
|
|
13
|
+
|
|
14
|
+
export type Modifiers = {
|
|
15
|
+
readonly [index: string]: boolean | string;
|
|
16
|
+
};
|
|
17
|
+
export type ClassNameProp<P> = string | ((props: P) => string);
|
|
18
|
+
export interface ElementProps<E extends HTMLElement, P = undefined>
|
|
19
|
+
extends Omit<HTMLAttributes<E>, "className" | "children"> {
|
|
20
|
+
className?: P extends undefined ? string : ClassNameProp<P>;
|
|
21
|
+
"data-testid"?: string | number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type ItemKey = Element | string | number;
|
|
25
|
+
export type TransitionProp =
|
|
26
|
+
| boolean
|
|
27
|
+
| {
|
|
28
|
+
enter?: boolean;
|
|
29
|
+
exit?: boolean;
|
|
30
|
+
preEnter?: boolean;
|
|
31
|
+
preExit?: boolean;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export interface ItemState {
|
|
35
|
+
readonly state: TransitionState;
|
|
36
|
+
readonly toggle: (toEnter?: boolean) => void;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface ItemStateOptions {
|
|
41
|
+
itemKey?: string | number;
|
|
42
|
+
initialEntered?: boolean;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface AccordionProviderOptions
|
|
47
|
+
extends Omit<
|
|
48
|
+
TransitionMapOptions<ItemKey>,
|
|
49
|
+
"enter" | "exit" | "preEnter" | "preExit" | "timeout"
|
|
50
|
+
> {
|
|
51
|
+
/**
|
|
52
|
+
* The transition behavior for the accordion.
|
|
53
|
+
* It can take a TransitionProp type which specifies the type of transition.
|
|
54
|
+
*/
|
|
55
|
+
transition?: TransitionProp;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Set the timeout duration for transitions.
|
|
59
|
+
* It uses the 'timeout' type from TransitionOptions to specify the duration in milliseconds.
|
|
60
|
+
*/
|
|
61
|
+
transitionTimeout?: TransitionOptions["timeout"];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface AccordionProviderValue extends TransitionMapResult<ItemKey> {
|
|
65
|
+
/**
|
|
66
|
+
* Determines whether the accordion item should be mounted
|
|
67
|
+
* in the DOM only when it enters. A true value means the item will only mount when
|
|
68
|
+
* it is opened (entered state).
|
|
69
|
+
*/
|
|
70
|
+
mountOnEnter: boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Indicates whether the accordion item should be in the
|
|
74
|
+
* entered (or opened) state initially. This can be used to display the accordion item
|
|
75
|
+
* as open by default when the component is first rendered.
|
|
76
|
+
*/
|
|
77
|
+
initialEntered: boolean;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export const AccordionContext = createContext<Partial<AccordionProviderValue>>(
|
|
81
|
+
{}
|
|
82
|
+
);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
const mergeProps = (target, source) => {
|
|
5
|
+
if (!source) return target;
|
|
6
|
+
|
|
7
|
+
const result = { ...target };
|
|
8
|
+
Object.keys(source).forEach((key) => {
|
|
9
|
+
const targetProp = target[key];
|
|
10
|
+
const sourceProp = source[key];
|
|
11
|
+
if (typeof sourceProp === 'function' && targetProp) {
|
|
12
|
+
result[key] = (...e) => {
|
|
13
|
+
targetProp(...e);
|
|
14
|
+
sourceProp(...e);
|
|
15
|
+
};
|
|
16
|
+
} else {
|
|
17
|
+
result[key] = sourceProp;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { mergeProps };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect, useLayoutEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
// Get around a warning when using useLayoutEffect on the server.
|
|
4
|
+
// https://github.com/reduxjs/react-redux/blob/b48d087d76f666e1c6c5a9713bbec112a1631841/src/utils/useIsomorphicLayoutEffect.js#L12
|
|
5
|
+
// https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
|
|
6
|
+
// https://github.com/facebook/react/issues/14927#issuecomment-549457471
|
|
7
|
+
|
|
8
|
+
const useIsomorphicLayoutEffect =
|
|
9
|
+
typeof window !== 'undefined' &&
|
|
10
|
+
typeof window.document !== 'undefined' &&
|
|
11
|
+
typeof window.document.createElement !== 'undefined'
|
|
12
|
+
? useLayoutEffect
|
|
13
|
+
: useEffect;
|
|
14
|
+
|
|
15
|
+
export { useIsomorphicLayoutEffect as useLayoutEffect };
|