@festo-ui/react 10.0.1-dev.847 → 10.0.1-dev.849

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.
Files changed (209) hide show
  1. package/package.json +1 -1
  2. package/dist/components/accordion/Accordion.css +0 -4
  3. package/dist/components/accordion/Accordion.d.ts +0 -10
  4. package/dist/components/accordion/Accordion.js +0 -42
  5. package/dist/components/accordion/AccordionContext.d.ts +0 -11
  6. package/dist/components/accordion/AccordionContext.js +0 -3
  7. package/dist/components/accordion/accordion-header/AccordionHeader.css +0 -11
  8. package/dist/components/accordion/accordion-header/AccordionHeader.d.ts +0 -2
  9. package/dist/components/accordion/accordion-header/AccordionHeader.js +0 -12
  10. package/dist/components/accordion/accordion-item/AccordionItem.css +0 -64
  11. package/dist/components/accordion/accordion-item/AccordionItem.d.ts +0 -8
  12. package/dist/components/accordion/accordion-item/AccordionItem.js +0 -61
  13. package/dist/components/accordion/accordion-item/AccordionItemContext.d.ts +0 -7
  14. package/dist/components/accordion/accordion-item/AccordionItemContext.js +0 -3
  15. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.css +0 -76
  16. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.d.ts +0 -2
  17. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js +0 -56
  18. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.css +0 -11
  19. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.d.ts +0 -2
  20. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js +0 -21
  21. package/dist/components/bottom-sheet/BottomSheet.css +0 -18
  22. package/dist/components/bottom-sheet/BottomSheet.d.ts +0 -10
  23. package/dist/components/bottom-sheet/BottomSheet.js +0 -104
  24. package/dist/components/breadcrumb/Breadcrumb.d.ts +0 -13
  25. package/dist/components/breadcrumb/Breadcrumb.js +0 -61
  26. package/dist/components/button/Button.d.ts +0 -11
  27. package/dist/components/button/Button.js +0 -37
  28. package/dist/components/card/Card.d.ts +0 -3
  29. package/dist/components/card/Card.js +0 -11
  30. package/dist/components/card/CardBody.d.ts +0 -5
  31. package/dist/components/card/CardBody.js +0 -17
  32. package/dist/components/card/CardHeader.d.ts +0 -8
  33. package/dist/components/card/CardHeader.js +0 -33
  34. package/dist/components/card/CardHeader.stories.helper.js +0 -7
  35. package/dist/components/card/CardNotification.d.ts +0 -5
  36. package/dist/components/card/CardNotification.js +0 -30
  37. package/dist/components/chips/chip/Chip.d.ts +0 -16
  38. package/dist/components/chips/chip/Chip.js +0 -45
  39. package/dist/components/chips/chip-container/ChipContainer.d.ts +0 -5
  40. package/dist/components/chips/chip-container/ChipContainer.js +0 -16
  41. package/dist/components/icon-wrapper/IconWrapper.d.ts +0 -7
  42. package/dist/components/icon-wrapper/IconWrapper.js +0 -13
  43. package/dist/components/loading-indicator/LoadingIndicator.d.ts +0 -5
  44. package/dist/components/loading-indicator/LoadingIndicator.js +0 -42
  45. package/dist/components/mobile-flyout/MobileFlyout.d.ts +0 -11
  46. package/dist/components/mobile-flyout/MobileFlyout.js +0 -89
  47. package/dist/components/mobile-flyout/MobileFlyoutContext.d.ts +0 -8
  48. package/dist/components/mobile-flyout/MobileFlyoutContext.js +0 -3
  49. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.d.ts +0 -18
  50. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +0 -37
  51. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.css +0 -5
  52. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.d.ts +0 -8
  53. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +0 -36
  54. package/dist/components/modals/AlertModal.d.ts +0 -12
  55. package/dist/components/modals/AlertModal.js +0 -54
  56. package/dist/components/modals/ConfirmModal.d.ts +0 -11
  57. package/dist/components/modals/ConfirmModal.js +0 -47
  58. package/dist/components/modals/CustomModal.d.ts +0 -8
  59. package/dist/components/modals/CustomModal.js +0 -39
  60. package/dist/components/modals/Modal.css +0 -39
  61. package/dist/components/modals/Modal.d.ts +0 -8
  62. package/dist/components/modals/Modal.js +0 -32
  63. package/dist/components/modals/ModalBase.d.ts +0 -10
  64. package/dist/components/modals/ModalBase.js +0 -125
  65. package/dist/components/modals/ModalFooter.d.ts +0 -2
  66. package/dist/components/modals/ModalFooter.js +0 -14
  67. package/dist/components/modals/Prompt.d.ts +0 -15
  68. package/dist/components/modals/Prompt.js +0 -61
  69. package/dist/components/modals/image-gallery/ImageGallery.css +0 -833
  70. package/dist/components/modals/image-gallery/ImageGallery.d.ts +0 -21
  71. package/dist/components/modals/image-gallery/ImageGallery.helper.d.ts +0 -2
  72. package/dist/components/modals/image-gallery/ImageGallery.helper.js +0 -13
  73. package/dist/components/modals/image-gallery/ImageGallery.js +0 -104
  74. package/dist/components/modals/image-gallery/ImageGallery.stories.helper.js +0 -112
  75. package/dist/components/modals/image-gallery/ImageGalleryContent.d.ts +0 -8
  76. package/dist/components/modals/image-gallery/ImageGalleryContent.js +0 -15
  77. package/dist/components/modals/image-gallery/ImageGalleryScale.d.ts +0 -6
  78. package/dist/components/modals/image-gallery/ImageGalleryScale.js +0 -15
  79. package/dist/components/modals/image-gallery/ImageGallerySwiper.d.ts +0 -12
  80. package/dist/components/modals/image-gallery/ImageGallerySwiper.js +0 -40
  81. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +0 -7
  82. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +0 -27
  83. package/dist/components/modals/image-gallery/internal/CloseButton.d.ts +0 -6
  84. package/dist/components/modals/image-gallery/internal/CloseButton.js +0 -14
  85. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.d.ts +0 -5
  86. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.js +0 -8
  87. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.d.ts +0 -5
  88. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.js +0 -29
  89. package/dist/components/pagination/Pagination.css +0 -10
  90. package/dist/components/pagination/Pagination.d.ts +0 -14
  91. package/dist/components/pagination/Pagination.js +0 -104
  92. package/dist/components/popovers/legend/Legend.d.ts +0 -11
  93. package/dist/components/popovers/legend/Legend.js +0 -25
  94. package/dist/components/popovers/popover/Popover.css +0 -9
  95. package/dist/components/popovers/popover/Popover.d.ts +0 -19
  96. package/dist/components/popovers/popover/Popover.js +0 -96
  97. package/dist/components/popovers/popover-menu/PopoverMenu.d.ts +0 -9
  98. package/dist/components/popovers/popover-menu/PopoverMenu.js +0 -33
  99. package/dist/components/popovers/popover-menu/PopoverMenuContext.d.ts +0 -4
  100. package/dist/components/popovers/popover-menu/PopoverMenuContext.js +0 -5
  101. package/dist/components/popovers/popover-menu/popover-menu-item/PopoverMenuItem.d.ts +0 -9
  102. package/dist/components/popovers/popover-menu/popover-menu-item/PopoverMenuItem.js +0 -31
  103. package/dist/components/popovers/tooltip/Tooltip.d.ts +0 -6
  104. package/dist/components/popovers/tooltip/Tooltip.js +0 -13
  105. package/dist/components/progress/Progress.d.ts +0 -6
  106. package/dist/components/progress/Progress.js +0 -30
  107. package/dist/components/search-input/ClearButton.d.ts +0 -1
  108. package/dist/components/search-input/ClearButton.js +0 -11
  109. package/dist/components/search-input/SearchInput.css +0 -13
  110. package/dist/components/search-input/SearchInput.d.ts +0 -13
  111. package/dist/components/search-input/SearchInput.js +0 -65
  112. package/dist/components/search-input/SearchSuggestion.d.ts +0 -17
  113. package/dist/components/search-input/SearchSuggestion.js +0 -21
  114. package/dist/components/search-input/useSearchInput.d.ts +0 -13
  115. package/dist/components/search-input/useSearchInput.js +0 -85
  116. package/dist/components/snackbar/Snackbar.css +0 -55
  117. package/dist/components/snackbar/Snackbar.d.ts +0 -21
  118. package/dist/components/snackbar/Snackbar.js +0 -82
  119. package/dist/components/snackbar/SnackbarContext.d.ts +0 -7
  120. package/dist/components/snackbar/SnackbarContext.js +0 -3
  121. package/dist/components/snackbar/SnackbarProvider.d.ts +0 -7
  122. package/dist/components/snackbar/SnackbarProvider.js +0 -69
  123. package/dist/components/snackbar/useSnackbar.d.ts +0 -2
  124. package/dist/components/snackbar/useSnackbar.js +0 -4
  125. package/dist/components/stepper-horizontal/StepperHorizontal.css +0 -6
  126. package/dist/components/stepper-horizontal/StepperHorizontal.d.ts +0 -7
  127. package/dist/components/stepper-horizontal/StepperHorizontal.js +0 -49
  128. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.css +0 -24
  129. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +0 -6
  130. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.js +0 -17
  131. package/dist/components/stepper-vertical/StepperVertical.d.ts +0 -6
  132. package/dist/components/stepper-vertical/StepperVertical.js +0 -26
  133. package/dist/components/stepper-vertical/step-vertical/StepVertical.css +0 -10
  134. package/dist/components/stepper-vertical/step-vertical/StepVertical.d.ts +0 -11
  135. package/dist/components/stepper-vertical/step-vertical/StepVertical.js +0 -59
  136. package/dist/components/tab/Tabs.css +0 -285
  137. package/dist/components/tab/Tabs.d.ts +0 -22
  138. package/dist/components/tab/Tabs.js +0 -194
  139. package/dist/components/tab/interfaces.d.ts +0 -5
  140. package/dist/components/tab/interfaces.js +0 -0
  141. package/dist/components/tab/tab-pane/TabPane.css +0 -8
  142. package/dist/components/tab/tab-pane/TabPane.d.ts +0 -8
  143. package/dist/components/tab/tab-pane/TabPane.js +0 -22
  144. package/dist/components/tab/useTabScroll.d.ts +0 -25
  145. package/dist/components/tab/useTabScroll.js +0 -151
  146. package/dist/components/table-header-cell/TableHeaderCell.d.ts +0 -6
  147. package/dist/components/table-header-cell/TableHeaderCell.js +0 -22
  148. package/dist/forms/checkbox/Checkbox.css +0 -134
  149. package/dist/forms/checkbox/Checkbox.d.ts +0 -12
  150. package/dist/forms/checkbox/Checkbox.js +0 -83
  151. package/dist/forms/combobox/ComboBox.css +0 -124
  152. package/dist/forms/combobox/ComboBox.d.ts +0 -27
  153. package/dist/forms/combobox/ComboBox.js +0 -174
  154. package/dist/forms/multi-select/MultiSelect.css +0 -13
  155. package/dist/forms/multi-select/MultiSelect.d.ts +0 -20
  156. package/dist/forms/multi-select/MultiSelect.js +0 -192
  157. package/dist/forms/radio/RadioButton.d.ts +0 -14
  158. package/dist/forms/radio/RadioButton.js +0 -57
  159. package/dist/forms/radio/RadioGroup.d.ts +0 -12
  160. package/dist/forms/radio/RadioGroup.js +0 -51
  161. package/dist/forms/radio/RadioGroupContext.d.ts +0 -12
  162. package/dist/forms/radio/RadioGroupContext.js +0 -3
  163. package/dist/forms/segment/Segment.d.ts +0 -12
  164. package/dist/forms/segment/Segment.js +0 -60
  165. package/dist/forms/segment/segment-control/SegmentControl.d.ts +0 -10
  166. package/dist/forms/segment/segment-control/SegmentControl.js +0 -59
  167. package/dist/forms/select/Select.d.ts +0 -25
  168. package/dist/forms/select/Select.js +0 -93
  169. package/dist/forms/select/internal/SelectButton.d.ts +0 -0
  170. package/dist/forms/select/internal/SelectButton.js +0 -0
  171. package/dist/forms/select/internal/SelectButtonContent.d.ts +0 -0
  172. package/dist/forms/select/internal/SelectButtonContent.js +0 -0
  173. package/dist/forms/select/internal/SelectOptionsContainer.d.ts +0 -0
  174. package/dist/forms/select/internal/SelectOptionsContainer.js +0 -0
  175. package/dist/forms/slider/Slider.css +0 -50
  176. package/dist/forms/slider/Slider.d.ts +0 -14
  177. package/dist/forms/slider/Slider.js +0 -98
  178. package/dist/forms/switch/Switch.d.ts +0 -10
  179. package/dist/forms/switch/Switch.js +0 -48
  180. package/dist/forms/text-area/TextArea.css +0 -14
  181. package/dist/forms/text-area/TextArea.d.ts +0 -13
  182. package/dist/forms/text-area/TextArea.js +0 -116
  183. package/dist/forms/text-input/TextInput.css +0 -31
  184. package/dist/forms/text-input/TextInput.d.ts +0 -13
  185. package/dist/forms/text-input/TextInput.js +0 -65
  186. package/dist/forms/time-picker/TimePicker.css +0 -10
  187. package/dist/forms/time-picker/TimePicker.d.ts +0 -25
  188. package/dist/forms/time-picker/TimePicker.js +0 -125
  189. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.css +0 -4
  190. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.d.ts +0 -19
  191. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +0 -209
  192. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.d.ts +0 -9
  193. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.js +0 -15
  194. package/dist/index.d.ts +0 -60
  195. package/dist/index.js +0 -60
  196. package/dist/utils/index.d.ts +0 -1
  197. package/dist/utils/index.js +0 -7
  198. package/dist/utils/setRef.d.ts +0 -1
  199. package/dist/utils/setRef.js +0 -5
  200. package/dist/utils/types.d.ts +0 -23
  201. package/dist/utils/types.js +0 -0
  202. package/dist/utils/useControlled.d.ts +0 -7
  203. package/dist/utils/useControlled.js +0 -20
  204. package/dist/utils/useForkRef.d.ts +0 -2
  205. package/dist/utils/useForkRef.js +0 -15
  206. package/dist/utils/useId.d.ts +0 -1
  207. package/dist/utils/useId.js +0 -20
  208. package/dist/utils/useOnClickOutside.d.ts +0 -2
  209. package/dist/utils/useOnClickOutside.js +0 -20
@@ -1,19 +0,0 @@
1
- import './Popover.scss';
2
- import { type Placement } from '@floating-ui/react';
3
- import { type MouseEvent, type ReactNode } from 'react';
4
- export interface PopoverProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'content' | 'onChange'> {
5
- readonly 'data-testid'?: string;
6
- readonly containerClassName?: string;
7
- readonly content: ReactNode;
8
- readonly position?: Placement;
9
- readonly fallbackPositions?: Placement[];
10
- readonly isOpen?: boolean;
11
- readonly openOnHover?: boolean;
12
- readonly openByDefault?: boolean;
13
- readonly onChange?: (isOpen: boolean) => void;
14
- readonly flip?: boolean;
15
- readonly showArrow?: boolean;
16
- readonly onTriggerClick?: (event: MouseEvent) => void;
17
- readonly stopPropagation?: boolean;
18
- }
19
- export declare const Popover: (props: PopoverProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,96 +0,0 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import "./Popover.css";
3
- import { FloatingArrow, FloatingPortal, arrow, autoUpdate, flip, offset, shift, useClick, useDismiss, useFloating, useHover, useInteractions } from "@floating-ui/react";
4
- import classnames from "classnames";
5
- import { forwardRef, useRef } from "react";
6
- import { useControlled } from "../../../utils/useControlled.js";
7
- import { useForkRef } from "../../../utils/useForkRef.js";
8
- const Popover = /*#__PURE__*/ forwardRef(({ children, className, style, containerClassName, content, position, fallbackPositions, isOpen, openOnHover = false, openByDefault = false, onChange, flip: enableFlip = true, showArrow = true, onTriggerClick, stopPropagation = false, ...props }, ref)=>{
9
- const [showPopover, setShowPopover] = useControlled({
10
- controlled: isOpen,
11
- default: openByDefault
12
- });
13
- const arrowRef = useRef(null);
14
- const triggerRef = useRef(null);
15
- const handleRef = useForkRef(ref, triggerRef);
16
- const { refs, floatingStyles, context } = useFloating({
17
- placement: position,
18
- open: showPopover,
19
- onOpenChange: (isOpen)=>{
20
- setShowPopover(isOpen);
21
- onChange?.(isOpen);
22
- },
23
- middleware: [
24
- offset(12),
25
- enableFlip && flip({
26
- fallbackPlacements: fallbackPositions || void 0,
27
- fallbackAxisSideDirection: 'end'
28
- }),
29
- shift({
30
- padding: 8
31
- }),
32
- showArrow && arrow({
33
- element: arrowRef,
34
- padding: 8
35
- })
36
- ].filter(Boolean),
37
- whileElementsMounted: autoUpdate
38
- });
39
- const dismiss = useDismiss(context);
40
- const click = useClick(context, {
41
- enabled: !openOnHover,
42
- event: 'click',
43
- stickIfOpen: true
44
- });
45
- const hover = useHover(context, {
46
- enabled: openOnHover
47
- });
48
- const { getReferenceProps, getFloatingProps } = useInteractions([
49
- dismiss,
50
- click,
51
- hover
52
- ]);
53
- return /*#__PURE__*/ jsxs(Fragment, {
54
- children: [
55
- /*#__PURE__*/ jsx("div", {
56
- className: className,
57
- style: style,
58
- ref: (node)=>{
59
- refs.setReference(node);
60
- if ('function' == typeof handleRef) handleRef(node);
61
- },
62
- ...getReferenceProps({
63
- ...props,
64
- onClick: (event)=>{
65
- if (stopPropagation) event.stopPropagation();
66
- onTriggerClick?.(event);
67
- }
68
- }),
69
- children: children
70
- }),
71
- showPopover && /*#__PURE__*/ jsx(FloatingPortal, {
72
- children: /*#__PURE__*/ jsxs("div", {
73
- className: "fwe-popover-container",
74
- ref: refs.setFloating,
75
- style: floatingStyles,
76
- ...getFloatingProps(),
77
- children: [
78
- showArrow && /*#__PURE__*/ jsx(FloatingArrow, {
79
- ref: arrowRef,
80
- context: context,
81
- fill: "white",
82
- width: 16,
83
- height: 8
84
- }),
85
- /*#__PURE__*/ jsx("div", {
86
- className: classnames('fwe-popover', containerClassName),
87
- children: content
88
- })
89
- ]
90
- })
91
- })
92
- ]
93
- });
94
- });
95
- Popover.displayName = 'Popover';
96
- export { Popover };
@@ -1,9 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import { type PopoverProps } from '../popover/Popover';
3
- import { type PopoverMenuItemProps } from './popover-menu-item/PopoverMenuItem';
4
- export interface PopoverMenuProps extends Omit<PopoverProps, 'content' | 'isOpen' | 'onStateChange'> {
5
- readonly items: PopoverMenuItemProps[] | ReactNode;
6
- }
7
- export declare const PopoverMenu: (props: PopoverMenuProps & {
8
- children?: ReactNode | undefined;
9
- } & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,33 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import classnames from "classnames";
3
- import { forwardRef, useMemo, useState } from "react";
4
- import { Popover } from "../popover/Popover.js";
5
- import { PopoverMenuContext } from "./PopoverMenuContext.js";
6
- import { PopoverMenuItem } from "./popover-menu-item/PopoverMenuItem.js";
7
- const PopoverMenu = /*#__PURE__*/ forwardRef(({ items, className, containerClassName, children, ...props }, ref)=>{
8
- const [showPopoverMenu, setShowPopoverMenu] = useState(false);
9
- const isPopoverMenuItemPropsArray = (items)=>Array.isArray(items) && items.length > 0 && 'text' in items[0];
10
- let content = null;
11
- content = isPopoverMenuItemPropsArray(items) ? items.map((item)=>/*#__PURE__*/ jsx(PopoverMenuItem, {
12
- ...item
13
- }, item.text)) : items;
14
- const popoverMenuContextValue = useMemo(()=>({
15
- setShowPopoverMenu: setShowPopoverMenu
16
- }), []);
17
- return /*#__PURE__*/ jsx(PopoverMenuContext.Provider, {
18
- value: popoverMenuContextValue,
19
- children: /*#__PURE__*/ jsx(Popover, {
20
- className: classnames('fwe-popover-menu-trigger', className),
21
- containerClassName: classnames('fwe-popover--menu', containerClassName),
22
- content: content,
23
- position: "right",
24
- isOpen: showPopoverMenu,
25
- onChange: setShowPopoverMenu,
26
- ref: ref,
27
- ...props,
28
- children: children
29
- })
30
- });
31
- });
32
- PopoverMenu.displayName = 'PopoverMenu';
33
- export { PopoverMenu };
@@ -1,4 +0,0 @@
1
- import { type Dispatch, type SetStateAction } from 'react';
2
- export declare const PopoverMenuContext: import("react").Context<{
3
- setShowPopoverMenu: Dispatch<SetStateAction<boolean>>;
4
- }>;
@@ -1,5 +0,0 @@
1
- import { createContext } from "react";
2
- const PopoverMenuContext = createContext({
3
- setShowPopoverMenu: ()=>{}
4
- });
5
- export { PopoverMenuContext };
@@ -1,9 +0,0 @@
1
- import { type ComponentPropsWithoutRef } from 'react';
2
- export interface PopoverMenuItemProps extends Omit<ComponentPropsWithoutRef<'button'>, 'onClick'> {
3
- readonly 'data-testid'?: string;
4
- readonly text: string;
5
- readonly icon: React.ReactNode;
6
- readonly onClick?: (data: unknown) => void;
7
- readonly data?: unknown;
8
- }
9
- export declare const PopoverMenuItem: (props: PopoverMenuItemProps & import("react").RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
@@ -1,31 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useContext } from "react";
3
- import { IconWrapper } from "../../../icon-wrapper/IconWrapper.js";
4
- import { PopoverMenuContext } from "../PopoverMenuContext.js";
5
- const PopoverMenuItem = /*#__PURE__*/ forwardRef(({ text, icon, onClick, data, className, ...props }, ref)=>{
6
- const { setShowPopoverMenu } = useContext(PopoverMenuContext);
7
- function handleClick(e) {
8
- e?.preventDefault();
9
- e?.stopPropagation();
10
- if (setShowPopoverMenu) setShowPopoverMenu(false);
11
- if (onClick) onClick(data);
12
- }
13
- return /*#__PURE__*/ jsxs("button", {
14
- type: "button",
15
- className: className,
16
- onClick: handleClick,
17
- ref: ref,
18
- ...props,
19
- children: [
20
- /*#__PURE__*/ jsx(IconWrapper, {
21
- icon: icon
22
- }),
23
- /*#__PURE__*/ jsx("span", {
24
- className: "fwe-mr-xxs",
25
- children: text
26
- })
27
- ]
28
- });
29
- });
30
- PopoverMenuItem.displayName = 'PopoverMenuItem';
31
- export { PopoverMenuItem };
@@ -1,6 +0,0 @@
1
- import type { PopoverProps } from '../popover/Popover';
2
- export interface TooltipProps extends Omit<PopoverProps, 'openOnHover'> {
3
- }
4
- export declare const Tooltip: (props: TooltipProps & {
5
- children?: import("react").ReactNode | undefined;
6
- } & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,13 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { Popover } from "../popover/Popover.js";
4
- const Tooltip = /*#__PURE__*/ forwardRef(({ content, children, ...props }, ref)=>/*#__PURE__*/ jsx(Popover, {
5
- position: "bottom",
6
- openOnHover: true,
7
- content: content,
8
- ref: ref,
9
- ...props,
10
- children: children
11
- }));
12
- Tooltip.displayName = 'Tooltip';
13
- export { Tooltip };
@@ -1,6 +0,0 @@
1
- export interface ProgressProps extends React.ComponentPropsWithoutRef<'div'> {
2
- readonly progress: number;
3
- readonly background?: 'white' | 'black' | 'background';
4
- readonly error?: boolean;
5
- }
6
- export declare const Progress: (props: ProgressProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,30 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import classnames from "classnames";
3
- import { forwardRef } from "react";
4
- const Progress = /*#__PURE__*/ forwardRef(({ background = 'white', error = false, progress, className, ...props }, ref)=>{
5
- const classes = classnames('fwe-progress-bar', {
6
- 'fwe-bg-red': error
7
- }, {
8
- 'fwe-progress-bar-black': 'black' === background
9
- }, {
10
- 'fwe-progress-bar-background': 'background' === background
11
- });
12
- return /*#__PURE__*/ jsx("div", {
13
- className: classnames('fwe-progress', className),
14
- ref: ref,
15
- ...props,
16
- children: /*#__PURE__*/ jsx("div", {
17
- className: classes,
18
- role: "progressbar",
19
- style: {
20
- width: `${progress}%`
21
- },
22
- "aria-valuenow": progress,
23
- "aria-valuemin": 0,
24
- "aria-valuemax": 100,
25
- "aria-label": "progressbar"
26
- })
27
- });
28
- });
29
- Progress.displayName = 'Progress';
30
- export { Progress };
@@ -1 +0,0 @@
1
- export declare const ClearButton: (props: Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
@@ -1,11 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- const ClearButton = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx("button", {
4
- type: "button",
5
- className: "fwe-clear-icon fr-search-input-clear-button",
6
- "aria-label": "Clear",
7
- ref: ref,
8
- ...props
9
- }));
10
- ClearButton.displayName = 'ClearButton';
11
- export { ClearButton };
@@ -1,13 +0,0 @@
1
- .fwe-search-suggestion {
2
- height: 40px;
3
- }
4
-
5
- .fr-search-input-clear-button {
6
- background: none;
7
- border: none;
8
- justify-content: center;
9
- align-items: center;
10
- padding: 0;
11
- display: flex;
12
- }
13
-
@@ -1,13 +0,0 @@
1
- import './SearchInput.scss';
2
- import { type ComponentPropsWithoutRef } from 'react';
3
- import type { SearchSuggestion } from './SearchSuggestion';
4
- export interface SearchInputProps extends Omit<ComponentPropsWithoutRef<'input'>, 'onChange' | 'value' | 'defaultValue'> {
5
- readonly label?: string;
6
- readonly defaultValue?: string;
7
- readonly value?: string;
8
- readonly suggestions?: SearchSuggestion[];
9
- readonly onChange?: (value: string) => void;
10
- readonly onKeyboardNavigate?: (value: string) => void;
11
- readonly onSearch?: (value: string) => void;
12
- }
13
- export declare const SearchInput: (props: SearchInputProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,65 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import "./SearchInput.css";
3
- import classnames from "classnames";
4
- import { forwardRef, useRef } from "react";
5
- import { useForkRef } from "../../utils/useForkRef.js";
6
- import { useOnClickOutside } from "../../utils/useOnClickOutside.js";
7
- import { ClearButton } from "./ClearButton.js";
8
- import { useSearchInput } from "./useSearchInput.js";
9
- const SearchInput = /*#__PURE__*/ forwardRef(({ defaultValue, disabled, label, value, suggestions, onChange, onSearch, onKeyboardNavigate, className, ...props }, ref)=>{
10
- const inputRef = useRef(null);
11
- const containerRef = useRef(null);
12
- const handleRef = useForkRef(ref, containerRef);
13
- const cappedSuggestions = suggestions?.slice(0, 10) ?? [];
14
- const { handleFocus, handleInput, handleClearQuery, handleSuggestionClick, handleOutsideClick, handleKeyDown, hideSuggestionList, selectedSuggestionIndex, innerValue } = useSearchInput(inputRef, cappedSuggestions, value, defaultValue, onChange, onSearch, onKeyboardNavigate);
15
- useOnClickOutside(containerRef, handleOutsideClick);
16
- return /*#__PURE__*/ jsxs("div", {
17
- className: classnames('fwe-search-input', className),
18
- ref: handleRef,
19
- children: [
20
- /*#__PURE__*/ jsx("input", {
21
- ref: inputRef,
22
- disabled: disabled,
23
- placeholder: label,
24
- onFocus: handleFocus,
25
- type: "search",
26
- "aria-label": "Search",
27
- onInput: handleInput,
28
- onKeyDown: handleKeyDown,
29
- value: innerValue,
30
- ...props
31
- }),
32
- /*#__PURE__*/ jsx("div", {
33
- className: "fwe-search-icon"
34
- }),
35
- /*#__PURE__*/ jsx(ClearButton, {
36
- onClick: handleClearQuery
37
- }),
38
- Boolean(suggestions?.length) && !hideSuggestionList && /*#__PURE__*/ jsxs("div", {
39
- className: "fwe-search-suggestions",
40
- role: "listbox",
41
- children: [
42
- cappedSuggestions.map((suggestion, i)=>/*#__PURE__*/ jsx("div", {
43
- role: "option",
44
- tabIndex: -1,
45
- "aria-label": suggestion.value,
46
- "aria-selected": selectedSuggestionIndex === i,
47
- onClick: ()=>handleSuggestionClick(suggestion),
48
- className: `fwe-search-suggestion ${selectedSuggestionIndex === i ? 'fwe-selected' : ''}`,
49
- children: /*#__PURE__*/ jsx("div", {
50
- dangerouslySetInnerHTML: {
51
- __html: suggestion.template
52
- }
53
- })
54
- }, suggestion.value)),
55
- suggestions && suggestions.length > 10 && /*#__PURE__*/ jsx("div", {
56
- className: "fwe-ml-xxs",
57
- children: "..."
58
- })
59
- ]
60
- })
61
- ]
62
- });
63
- });
64
- SearchInput.displayName = 'SearchInput';
65
- export { SearchInput };
@@ -1,17 +0,0 @@
1
- export declare class SearchSuggestion {
2
- /**
3
- * a html-string. e.g.: '<b> hello </b>'
4
- */
5
- template: string;
6
- /**
7
- * This Value will be used as new query when the user selects the suggestion.
8
- */
9
- value: string;
10
- /**
11
- * Creates a basic Suggestion from a string. The first query match is highlighted by bold tags.
12
- * @param suggestionString The suggested string (should contain the whole query)
13
- * @param query The current query. This string will be highlighted.
14
- * @returns a html-string.
15
- */
16
- static basicSuggestion(suggestionString: string, query: string): SearchSuggestion;
17
- }
@@ -1,21 +0,0 @@
1
- class SearchSuggestion {
2
- template;
3
- value;
4
- static basicSuggestion(suggestionString, query) {
5
- const i = suggestionString.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
6
- let template = suggestionString;
7
- if (-1 !== i) {
8
- const boldStart = i;
9
- const boldEnd = i + query.length;
10
- const part1 = suggestionString.substring(0, boldStart);
11
- const part2 = suggestionString.substring(boldStart, boldEnd);
12
- const part3 = suggestionString.substring(boldEnd, suggestionString.length);
13
- template = `${part1}<strong>${part2}</strong>${part3}`;
14
- }
15
- return {
16
- value: suggestionString,
17
- template
18
- };
19
- }
20
- }
21
- export { SearchSuggestion };
@@ -1,13 +0,0 @@
1
- import type React from 'react';
2
- import type { SearchSuggestion } from './SearchSuggestion';
3
- export declare function useSearchInput(inputRef: React.MutableRefObject<HTMLInputElement | null>, cappedSuggestions: SearchSuggestion[], value?: string, defaultValue?: string, onChange?: (value: string) => void, onSearch?: (value: string) => void, onKeyboardNavigate?: (value: string) => void): {
4
- innerValue: string | undefined;
5
- hideSuggestionList: boolean;
6
- selectedSuggestionIndex: number;
7
- handleClearQuery: () => void;
8
- handleFocus: () => void;
9
- handleInput: (event: any) => void;
10
- handleSuggestionClick: (suggestion: SearchSuggestion) => void;
11
- handleOutsideClick: () => void;
12
- handleKeyDown: (event: React.KeyboardEvent) => void;
13
- };
@@ -1,85 +0,0 @@
1
- import { useState } from "react";
2
- import { useControlled } from "../../utils/useControlled.js";
3
- function useSearchInput(inputRef, cappedSuggestions, value, defaultValue = '', onChange, onSearch, onKeyboardNavigate) {
4
- const [innerValue, setValue] = useControlled({
5
- controlled: value,
6
- default: defaultValue
7
- });
8
- const [hideSuggestionList, setHideSuggestionList] = useState(false);
9
- const [selectedSuggestionIndex, setSelectedSuggestionIndex] = useState(-1);
10
- function blurInput() {
11
- if (inputRef.current) inputRef.current.blur();
12
- }
13
- function reset() {
14
- setSelectedSuggestionIndex(-1);
15
- setHideSuggestionList(true);
16
- blurInput();
17
- }
18
- function handleSearch() {
19
- reset();
20
- if (void 0 !== innerValue) onSearch?.(innerValue);
21
- }
22
- function updateValue(newValue) {
23
- setValue(newValue);
24
- onChange?.(newValue);
25
- onSearch?.(newValue);
26
- }
27
- function handleClearQuery() {
28
- reset();
29
- updateValue('');
30
- }
31
- function handleArrowKey(newSuggestionIndex) {
32
- if (!cappedSuggestions || !cappedSuggestions.length) return;
33
- const selectedSuggestion = cappedSuggestions[newSuggestionIndex];
34
- setSelectedSuggestionIndex(newSuggestionIndex);
35
- setValue(selectedSuggestion.value);
36
- onKeyboardNavigate?.(selectedSuggestion.value);
37
- }
38
- function handleUpArrowKey() {
39
- handleArrowKey(selectedSuggestionIndex > 0 ? selectedSuggestionIndex - 1 : cappedSuggestions.length - 1);
40
- }
41
- function handleDownArrowKey() {
42
- handleArrowKey(selectedSuggestionIndex >= cappedSuggestions.length - 1 ? 0 : selectedSuggestionIndex + 1);
43
- }
44
- function handleKeyDown(event) {
45
- switch(event.key){
46
- case 'Enter':
47
- handleSearch();
48
- break;
49
- case 'Escape':
50
- handleClearQuery();
51
- break;
52
- case 'ArrowUp':
53
- handleUpArrowKey();
54
- break;
55
- case 'ArrowDown':
56
- handleDownArrowKey();
57
- break;
58
- default:
59
- break;
60
- }
61
- }
62
- const handleFocus = ()=>setHideSuggestionList(false);
63
- const handleOutsideClick = ()=>setHideSuggestionList(true);
64
- function handleSuggestionClick(suggestion) {
65
- reset();
66
- updateValue(suggestion.value);
67
- }
68
- function handleInput(event) {
69
- setSelectedSuggestionIndex(-1);
70
- setValue(event.target.value);
71
- onChange?.(event.target.value);
72
- }
73
- return {
74
- innerValue,
75
- hideSuggestionList,
76
- selectedSuggestionIndex,
77
- handleClearQuery,
78
- handleFocus,
79
- handleInput,
80
- handleSuggestionClick,
81
- handleOutsideClick,
82
- handleKeyDown
83
- };
84
- }
85
- export { useSearchInput };
@@ -1,55 +0,0 @@
1
- .fr-snackbar-wrapper {
2
- opacity: 0;
3
- opacity: 1;
4
- margin-bottom: 24px;
5
- }
6
-
7
- .fr-snackbar-wrapper-enter-done {
8
- opacity: 1;
9
- transition: opacity .6s ease-out;
10
- }
11
-
12
- .fr-snackbar-wrapper-exit {
13
- opacity: 1;
14
- height: 48px;
15
- }
16
-
17
- .fr-snackbar-wrapper-exit-active {
18
- opacity: 0;
19
- height: 0;
20
- margin-bottom: 0;
21
- transition: height .3s ease-out .3s, opacity .3s ease-out, margin-bottom .3s ease-out .3s;
22
- }
23
-
24
- .fr-snackbar-wrapper--first {
25
- opacity: 1;
26
- margin-bottom: 24px;
27
- transform: translateY(100px);
28
- }
29
-
30
- .fr-snackbar-wrapper--first-enter-done {
31
- opacity: 1;
32
- transition: opacity .6s ease-out;
33
- }
34
-
35
- .fr-snackbar-wrapper--first-exit {
36
- opacity: 1;
37
- height: 48px;
38
- }
39
-
40
- .fr-snackbar-wrapper--first-exit-active {
41
- opacity: 0;
42
- height: 0;
43
- margin-bottom: 0;
44
- transition: height .3s ease-out .3s, opacity .3s ease-out, margin-bottom .3s ease-out .3s;
45
- }
46
-
47
- .fr-snackbar-wrapper--first-enter-done {
48
- transition: transform .6s ease-out;
49
- transform: translateY(0);
50
- }
51
-
52
- .fr-snackbar-wrapper--first-exit-active {
53
- transform: translateY(0);
54
- }
55
-
@@ -1,21 +0,0 @@
1
- import './Snackbar.scss';
2
- export interface SnackbarConfig {
3
- type?: 'info' | 'warning' | 'error';
4
- variant?: 'a' | 'b' | 'c';
5
- darkBackground?: boolean;
6
- showClose?: boolean;
7
- action?: string;
8
- disappearAfter?: number | null;
9
- key?: string | number;
10
- 'data-testid'?: string;
11
- }
12
- export interface SnackbarData extends SnackbarConfig {
13
- text: string;
14
- }
15
- export interface SnackbarProps extends React.ComponentPropsWithoutRef<'div'> {
16
- readonly data?: SnackbarData;
17
- readonly onAction?: () => void;
18
- readonly onClose?: () => void;
19
- readonly first?: boolean;
20
- }
21
- export declare const Snackbar: (props: SnackbarProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;