@festo-ui/react 9.0.0-dev.727 → 9.0.0-dev.729

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 (43) hide show
  1. package/dist/components/bottom-sheet/BottomSheet.d.ts +2 -3
  2. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
  3. package/dist/components/chips/chip-container/ChipContainer.d.ts +1 -1
  4. package/dist/components/icon-wrapper/IconWrapper.d.ts +4 -1
  5. package/dist/components/loading-indicator/LoadingIndicator.d.ts +1 -1
  6. package/dist/components/modals/AlertModal.d.ts +8 -8
  7. package/dist/components/modals/ConfirmModal.d.ts +7 -7
  8. package/dist/components/modals/CustomModal.d.ts +4 -4
  9. package/dist/components/modals/Prompt.d.ts +10 -10
  10. package/dist/components/modals/image-gallery/ImageGalleryContent.d.ts +2 -3
  11. package/dist/components/modals/image-gallery/ImageGallerySwiper.d.ts +4 -5
  12. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +1 -2
  13. package/dist/components/pagination/Pagination.js +2 -2
  14. package/dist/components/popovers/legend/Legend.d.ts +5 -6
  15. package/dist/components/popovers/popover/Popover.d.ts +14 -14
  16. package/dist/components/popovers/popover/Popover.js +1 -1
  17. package/dist/components/progress/Progress.d.ts +3 -3
  18. package/dist/components/snackbar/Snackbar.d.ts +5 -5
  19. package/dist/components/snackbar/Snackbar.js +1 -1
  20. package/dist/components/snackbar/SnackbarProvider.d.ts +2 -3
  21. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +1 -1
  22. package/dist/components/stepper-vertical/StepperVertical.d.ts +2 -2
  23. package/dist/components/stepper-vertical/step-vertical/StepVertical.d.ts +6 -6
  24. package/dist/components/tab/Tabs.d.ts +7 -8
  25. package/dist/components/table-header-cell/TableHeaderCell.d.ts +2 -2
  26. package/dist/forms/radio/RadioButton.d.ts +12 -12
  27. package/dist/forms/radio/RadioGroup.d.ts +8 -8
  28. package/dist/forms/segment/Segment.d.ts +7 -7
  29. package/dist/forms/segment/segment-control/SegmentControl.d.ts +9 -9
  30. package/dist/forms/select/Select.d.ts +15 -15
  31. package/dist/forms/select/select-option/SelectOption.d.ts +3 -3
  32. package/dist/forms/slider/Slider.d.ts +12 -12
  33. package/dist/forms/slider/Slider.js +3 -3
  34. package/dist/forms/switch/Switch.d.ts +8 -8
  35. package/dist/forms/text-area/TextArea.d.ts +17 -17
  36. package/dist/forms/text-area/TextArea.js +1 -1
  37. package/dist/forms/time-picker/TimePicker.d.ts +13 -13
  38. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +13 -7
  39. package/dist/index.d.ts +16 -20
  40. package/dist/index.js +4 -4
  41. package/package.json +3 -2
  42. package/dist/components/link-button/LinkButton.d.ts +0 -8
  43. package/dist/components/link-button/LinkButton.js +0 -26
@@ -1,6 +1,6 @@
1
1
  import './BottomSheet.scss';
2
- interface BottomSheetProps {
3
- readonly children: React.ReactNode;
2
+ import { type PropsWithChildren } from 'react';
3
+ export interface BottomSheetProps extends PropsWithChildren {
4
4
  readonly defaultExpanded?: boolean;
5
5
  readonly open?: boolean;
6
6
  readonly expandFrom?: 'center' | 'bottom';
@@ -9,4 +9,3 @@ interface BottomSheetProps {
9
9
  readonly onOpenChange?: (value: boolean) => void;
10
10
  }
11
11
  export declare function BottomSheet({ children, open, defaultExpanded, expandFrom, hasBackdrop, hideCloseIcon, onOpenChange, }: BottomSheetProps): import("react/jsx-runtime").JSX.Element;
12
- export {};
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import type { ClassNamePropsWithChildren } from '../../utils/types';
3
3
  export interface BreadcrumbProps extends ClassNamePropsWithChildren {
4
- locations?: {
4
+ readonly locations?: {
5
5
  label: string;
6
6
  url: string;
7
7
  }[];
8
- onClick?: (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
8
+ readonly onClick?: (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
9
9
  }
10
10
  /**
11
11
  * Breadcrumb navigation can be used on pages with multiple navigation levels.
@@ -1,5 +1,5 @@
1
1
  import type { ClassNamePropsWithChildren } from '../../../utils/types';
2
2
  export interface ChipContainerProps extends ClassNamePropsWithChildren {
3
- large?: boolean;
3
+ readonly large?: boolean;
4
4
  }
5
5
  export declare function ChipContainer({ large, children, className, }: ChipContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Internal wrapper for icons.
3
+ */
1
4
  export declare function IconWrapper({ icon }: {
2
- icon: React.ReactNode;
5
+ readonly icon: React.ReactNode;
3
6
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentPropsWithRef } from 'react';
2
2
  export interface LoadingIndicatorProps extends ComponentPropsWithRef<'div'> {
3
- size: 'large' | 'medium' | 'small';
3
+ readonly size: 'large' | 'medium' | 'small';
4
4
  }
5
5
  export declare const LoadingIndicator: (props: LoadingIndicatorProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,12 +1,12 @@
1
1
  import { type ModalProps } from './Modal';
2
2
  export interface AlertModalProps extends Omit<ModalProps, 'head' | 'children'> {
3
- title: string;
4
- subtitle?: string;
5
- alertType: 'info' | 'warning' | 'error';
6
- strong?: boolean;
7
- cancel?: string;
8
- ok?: string;
9
- onCancel?: () => void;
10
- onOk?: () => void;
3
+ readonly title: string;
4
+ readonly subtitle?: string;
5
+ readonly alertType: 'info' | 'warning' | 'error';
6
+ readonly strong?: boolean;
7
+ readonly cancel?: string;
8
+ readonly ok?: string;
9
+ readonly onCancel?: () => void;
10
+ readonly onOk?: () => void;
11
11
  }
12
12
  export declare function AlertModal({ title, subtitle, alertType, strong, cancel, ok, onCancel, onOk, className, body, ...props }: AlertModalProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import { type ModalProps } from './Modal';
2
2
  export interface ConfirmModalProps extends Omit<ModalProps, 'head' | 'children'> {
3
- title: string;
4
- subtitle?: string;
5
- cancel?: string;
6
- ok?: string;
7
- onCancel?: () => void;
8
- onOk?: () => void;
9
- large?: boolean;
3
+ readonly title: string;
4
+ readonly subtitle?: string;
5
+ readonly cancel?: string;
6
+ readonly ok?: string;
7
+ readonly onCancel?: () => void;
8
+ readonly onOk?: () => void;
9
+ readonly large?: boolean;
10
10
  }
11
11
  export declare function ConfirmModal({ title, subtitle, cancel, ok, onCancel, onOk, large, body, className, ...props }: ConfirmModalProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { type ModalBaseProps } from './ModalBase';
2
2
  export interface CustomModalProps extends ModalBaseProps {
3
- large?: boolean;
4
- title?: string;
5
- subtitle?: string;
6
- onCloseDone?: () => void;
3
+ readonly large?: boolean;
4
+ readonly title?: string;
5
+ readonly subtitle?: string;
6
+ readonly onCloseDone?: () => void;
7
7
  }
8
8
  export declare const CustomModal: (props: CustomModalProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,15 +1,15 @@
1
1
  import type React from 'react';
2
2
  import { type ModalProps } from './Modal';
3
3
  export interface PromptProps extends Omit<ModalProps, 'head' | 'body' | 'children'> {
4
- title: string;
5
- subtitle?: string;
6
- hint?: string;
7
- label?: string;
8
- value?: string;
9
- onChange: (event: React.FormEvent<HTMLInputElement>) => void;
10
- cancel?: string;
11
- ok?: string;
12
- onCancel?: () => void;
13
- onOk: (value: string | undefined) => void;
4
+ readonly title: string;
5
+ readonly subtitle?: string;
6
+ readonly hint?: string;
7
+ readonly label?: string;
8
+ readonly value?: string;
9
+ readonly onChange: (event: React.FormEvent<HTMLInputElement>) => void;
10
+ readonly cancel?: string;
11
+ readonly ok?: string;
12
+ readonly onCancel?: () => void;
13
+ readonly onOk: (value: string | undefined) => void;
14
14
  }
15
15
  export declare function Prompt({ title, subtitle, hint, label, value, onChange, onOk, onCancel, cancel, ok, ...props }: PromptProps): JSX.Element;
@@ -2,8 +2,7 @@ export interface ImageDescriptiveContent {
2
2
  title: string;
3
3
  body: React.ReactNode;
4
4
  }
5
- interface ImageGalleryContentProps {
6
- imageContent?: ImageDescriptiveContent;
5
+ export interface ImageGalleryContentProps {
6
+ readonly imageContent?: ImageDescriptiveContent;
7
7
  }
8
8
  export declare function ImageGalleryContent({ imageContent, }: ImageGalleryContentProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,13 +1,12 @@
1
1
  import { type SwiperClass } from 'swiper/react';
2
2
  import type { ImageGalleryItemData } from './ImageGallery';
3
- interface ImageGallerySwiperProps {
3
+ export interface ImageGallerySwiperProps {
4
4
  readonly images?: ImageGalleryItemData[];
5
- onSlideChanged?: (value: number) => void;
6
- thumbsSwiper: SwiperClass | null;
7
- startIndex?: number;
5
+ readonly onSlideChanged?: (value: number) => void;
6
+ readonly thumbsSwiper: SwiperClass | null;
7
+ readonly startIndex?: number;
8
8
  }
9
9
  export declare function ImageGallerySwiper({ images, onSlideChanged, thumbsSwiper, startIndex, }: ImageGallerySwiperProps): import("react/jsx-runtime").JSX.Element;
10
10
  export declare namespace ImageGallerySwiper {
11
11
  var displayName: string;
12
12
  }
13
- export {};
@@ -1,8 +1,7 @@
1
1
  import { type SwiperClass } from 'swiper/react';
2
2
  import type { ImageGalleryItemData } from './ImageGallery';
3
- interface ImageGalleryThumbsSwiperProps {
3
+ export interface ImageGalleryThumbsSwiperProps {
4
4
  readonly images?: ImageGalleryItemData[];
5
5
  readonly setThumbsSwiper: React.Dispatch<React.SetStateAction<SwiperClass | null>>;
6
6
  }
7
7
  export declare function ImageGalleryThumbsSwiper({ images, setThumbsSwiper, }: ImageGalleryThumbsSwiperProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
@@ -42,7 +42,7 @@ function Pagination(props) {
42
42
  return /*#__PURE__*/ jsxs(Fragment, {
43
43
  children: [
44
44
  "DOTS" !== type && /*#__PURE__*/ jsxs("div", {
45
- className: classnames('fwe-pagination fwe-p-m', {
45
+ className: classnames('fwe-pagination', {
46
46
  'fwe-d-none': pageMax < 2
47
47
  }, className),
48
48
  children: [
@@ -78,7 +78,7 @@ function Pagination(props) {
78
78
  ]
79
79
  }),
80
80
  "DOTS" === type && /*#__PURE__*/ jsx("div", {
81
- className: classnames('fwe-p-m', {
81
+ className: classnames({
82
82
  'fwe-d-none': pageMax < 2
83
83
  }, className),
84
84
  children: /*#__PURE__*/ jsx("div", {
@@ -1,11 +1,10 @@
1
1
  import { type PopoverProps } from '../popover/Popover';
2
2
  import './Legend.scss';
3
- interface PopoverLegendItem {
4
- name: string;
5
- text: string;
3
+ export interface PopoverLegendItem {
4
+ readonly name: string;
5
+ readonly text: string;
6
6
  }
7
7
  export interface LegendProps extends Omit<PopoverProps, 'popoverContent'> {
8
- items: PopoverLegendItem[];
8
+ readonly items: PopoverLegendItem[];
9
9
  }
10
- export declare function Legend({ items, ...props }: Readonly<LegendProps>): import("react/jsx-runtime").JSX.Element;
11
- export {};
10
+ export declare function Legend({ items, ...props }: LegendProps): import("react/jsx-runtime").JSX.Element;
@@ -1,20 +1,20 @@
1
+ import './Popover.scss';
1
2
  import type { Placement } from '@popperjs/core';
2
3
  import type React from 'react';
3
4
  import type { ClassNamePropsWithChildren } from '../../../utils/types';
4
- import './Popover.scss';
5
5
  export interface PopoverProps extends ClassNamePropsWithChildren {
6
- popoverContent: React.ReactNode;
7
- position?: Placement;
8
- fallbackPositions?: Placement[];
9
- openOnHover?: boolean;
10
- defaultOpen?: boolean;
11
- open?: boolean;
12
- onStatusChange?: (status: boolean) => void;
13
- wrapper?: (children: React.ReactNode) => React.ReactNode;
14
- flip?: boolean;
15
- containerClassName?: string;
16
- stopPropagation?: boolean;
17
- arrow?: boolean;
18
- onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
6
+ readonly popoverContent: React.ReactNode;
7
+ readonly position?: Placement;
8
+ readonly fallbackPositions?: Placement[];
9
+ readonly openOnHover?: boolean;
10
+ readonly defaultOpen?: boolean;
11
+ readonly open?: boolean;
12
+ readonly onStatusChange?: (status: boolean) => void;
13
+ readonly wrapper?: (children: React.ReactNode) => React.ReactNode;
14
+ readonly flip?: boolean;
15
+ readonly containerClassName?: string;
16
+ readonly stopPropagation?: boolean;
17
+ readonly arrow?: boolean;
18
+ readonly onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
19
19
  }
20
20
  export declare function Popover({ popoverContent, children, position, fallbackPositions, openOnHover, defaultOpen, open, onStatusChange, wrapper, className, flip, containerClassName, stopPropagation, arrow, onClick, }: PopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import "./Popover.css";
2
3
  import classnames from "classnames";
3
4
  import { useRef, useState } from "react";
4
5
  import { usePopper } from "react-popper";
5
- import "./Popover.css";
6
6
  import { useControlled } from "../../../utils/useControlled.js";
7
7
  import { useForkRef } from "../../../utils/useForkRef.js";
8
8
  import { useOnClickOutside } from "../../../utils/useOnClickOutside.js";
@@ -1,7 +1,7 @@
1
1
  import type { ClassNameProps } from '../../utils/types';
2
2
  export interface ProgressProps extends ClassNameProps {
3
- progress: number;
4
- background?: 'white' | 'black' | 'background';
5
- error?: boolean;
3
+ readonly progress: number;
4
+ readonly background?: 'white' | 'black' | 'background';
5
+ readonly error?: boolean;
6
6
  }
7
7
  export declare function Progress({ background, error, progress, className, }: ProgressProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
- import type { ClassNameProps } from '../../utils/types';
2
1
  import './Snackbar.scss';
2
+ import type { ClassNameProps } from '../../utils/types';
3
3
  export interface SnackbarConfig extends ClassNameProps {
4
4
  type?: 'info' | 'warning' | 'error';
5
5
  variant?: 'a' | 'b' | 'c';
@@ -13,9 +13,9 @@ export interface SnackbarData extends SnackbarConfig {
13
13
  text: string;
14
14
  }
15
15
  export interface SnackbarProps {
16
- data?: SnackbarData;
17
- onAction?: () => void;
18
- onClose?: () => void;
19
- first?: boolean;
16
+ readonly data?: SnackbarData;
17
+ readonly onAction?: () => void;
18
+ readonly onClose?: () => void;
19
+ readonly first?: boolean;
20
20
  }
21
21
  export declare function Snackbar(props: SnackbarProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "./Snackbar.css";
2
3
  import classnames from "classnames";
3
4
  import { useEffect, useRef, useState } from "react";
4
5
  import { CSSTransition } from "react-transition-group";
5
- import "./Snackbar.css";
6
6
  function Snackbar(props) {
7
7
  const { data, onAction, onClose, first = false } = props;
8
8
  const [show, setShow] = useState(true);
@@ -1,8 +1,7 @@
1
1
  import type { ClassNamePropsWithChildren } from '../../utils/types';
2
2
  import { type SnackbarConfig, type SnackbarData } from './Snackbar';
3
- interface SnackbarProviderProps extends ClassNamePropsWithChildren {
4
- config?: SnackbarConfig;
3
+ export interface SnackbarProviderProps extends ClassNamePropsWithChildren {
4
+ readonly config?: SnackbarConfig;
5
5
  }
6
6
  export declare function SnackbarProvider(props: SnackbarProviderProps): import("react/jsx-runtime").JSX.Element;
7
7
  export declare const addSnackbar: (snackData: SnackbarData, onAction?: () => void, onClose?: () => void) => string | number;
8
- export {};
@@ -1,6 +1,6 @@
1
1
  import './StepHorizontal.scss';
2
2
  import { type ComponentPropsWithoutRef } from 'react';
3
3
  export interface StepHorizontalProps extends ComponentPropsWithoutRef<'div'> {
4
- isActive?: boolean;
4
+ readonly isActive?: boolean;
5
5
  }
6
6
  export declare const StepHorizontal: (props: StepHorizontalProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,6 +1,6 @@
1
1
  import React, { type ComponentPropsWithoutRef } from 'react';
2
2
  export interface StepperVerticalProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> {
3
- stepIndex?: number;
4
- onChange?: (stepIndex: number) => void;
3
+ readonly stepIndex?: number;
4
+ readonly onChange?: (stepIndex: number) => void;
5
5
  }
6
6
  export declare const StepperVertical: (props: StepperVerticalProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,11 +1,11 @@
1
1
  import './StepVertical.scss';
2
2
  import { type ComponentPropsWithoutRef } from 'react';
3
3
  export interface StepVerticalProps extends ComponentPropsWithoutRef<'div'> {
4
- isActive?: boolean;
5
- isLastElement?: boolean;
6
- isDone?: boolean;
7
- index?: number;
8
- title?: string;
9
- onStepClick?: () => void;
4
+ readonly isActive?: boolean;
5
+ readonly isLastElement?: boolean;
6
+ readonly isDone?: boolean;
7
+ readonly index?: number;
8
+ readonly title?: string;
9
+ readonly onStepClick?: () => void;
10
10
  }
11
11
  export declare const StepVertical: (props: StepVerticalProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,23 +1,22 @@
1
1
  import './Tabs.scss';
2
2
  import React, { type ComponentPropsWithoutRef } from 'react';
3
- type TabItemAppearance = 'fill' | 'equal' | 'default';
3
+ export type TabItemAppearance = 'fill' | 'equal' | 'default';
4
4
  export type TabViewType = 'legacy' | 'responsive';
5
5
  export interface TabsConfiguration {
6
- tabBar?: {
6
+ readonly tabBar?: {
7
7
  fullWidth?: boolean;
8
8
  };
9
- tabItems?: {
9
+ readonly tabItems?: {
10
10
  appearance: TabItemAppearance;
11
11
  };
12
12
  }
13
13
  export interface TabsProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> {
14
- config?: TabsConfiguration;
15
- viewType?: TabViewType;
16
- showDivider?: boolean;
17
- onChange?: (value: {
14
+ readonly config?: TabsConfiguration;
15
+ readonly viewType?: TabViewType;
16
+ readonly showDivider?: boolean;
17
+ readonly onChange?: (value: {
18
18
  previous: string;
19
19
  current: string;
20
20
  }) => void;
21
21
  }
22
22
  export declare const Tabs: (props: TabsProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
23
- export {};
@@ -1,5 +1,5 @@
1
1
  export interface TableHeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
2
- active?: boolean;
3
- ascending: boolean;
2
+ readonly active?: boolean;
3
+ readonly ascending: boolean;
4
4
  }
5
5
  export declare const TableHeaderCell: (props: TableHeaderCellProps & import("react").RefAttributes<HTMLTableCellElement>) => React.ReactElement | null;
@@ -1,14 +1,14 @@
1
1
  import type { ClassNamePropsWithChildren } from '../../utils/types';
2
- export interface RadioProps extends ClassNamePropsWithChildren {
3
- id?: string;
4
- defaultChecked?: boolean;
5
- checked?: boolean;
6
- onChange?: (value: string) => void;
7
- name?: string;
8
- value?: string;
9
- labelPosition?: 'before' | 'after' | 'below';
10
- large?: boolean;
11
- disabled?: boolean;
12
- required?: boolean;
2
+ export interface RadioButtonProps extends ClassNamePropsWithChildren {
3
+ readonly id?: string;
4
+ readonly defaultChecked?: boolean;
5
+ readonly checked?: boolean;
6
+ readonly onChange?: (value: string) => void;
7
+ readonly name?: string;
8
+ readonly value?: string;
9
+ readonly labelPosition?: 'before' | 'after' | 'below';
10
+ readonly large?: boolean;
11
+ readonly disabled?: boolean;
12
+ readonly required?: boolean;
13
13
  }
14
- export declare function RadioButton(props: RadioProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function RadioButton(props: RadioButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import { type ComponentPropsWithoutRef } from 'react';
2
2
  export interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {
3
- name?: string;
4
- defaultValue?: string;
5
- onValueChange?: (value: string) => void;
6
- value?: string;
7
- labelPosition?: 'before' | 'after' | 'below';
8
- large?: boolean;
9
- disabled?: boolean;
10
- required?: boolean;
3
+ readonly name?: string;
4
+ readonly defaultValue?: string;
5
+ readonly onValueChange?: (value: string) => void;
6
+ readonly value?: string;
7
+ readonly labelPosition?: 'before' | 'after' | 'below';
8
+ readonly large?: boolean;
9
+ readonly disabled?: boolean;
10
+ readonly required?: boolean;
11
11
  }
12
12
  export declare const RadioGroup: (props: RadioGroupProps & import("react").RefAttributes<HTMLDivElement>) => React.ReactElement | null;
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import type { ClassNamePropsWithChildren } from '../../utils/types';
3
- export interface SegmentComponentConfiguration {
4
- outline?: boolean;
5
- iconOnly?: boolean;
3
+ export interface SegmentConfiguration {
4
+ readonly outline?: boolean;
5
+ readonly iconOnly?: boolean;
6
6
  }
7
7
  export interface SegmentProps extends ClassNamePropsWithChildren {
8
- legend: string;
9
- config?: SegmentComponentConfiguration;
10
- onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;
11
- value?: any;
8
+ readonly legend: string;
9
+ readonly config?: SegmentConfiguration;
10
+ readonly onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;
11
+ readonly value?: any;
12
12
  }
13
13
  export declare function Segment(props: SegmentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,14 @@
1
1
  import type React from 'react';
2
2
  import type { ClassNameProps } from '../../../utils/types';
3
3
  export interface SegmentControlProps extends ClassNameProps {
4
- label: string;
5
- name: string;
6
- value: any;
7
- checked?: boolean;
8
- disabled?: boolean;
9
- icon?: React.ReactNode;
10
- onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;
11
- id?: string;
12
- iconOnly?: boolean;
4
+ readonly label: string;
5
+ readonly name: string;
6
+ readonly value: any;
7
+ readonly checked?: boolean;
8
+ readonly disabled?: boolean;
9
+ readonly icon?: React.ReactNode;
10
+ readonly onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;
11
+ readonly id?: string;
12
+ readonly iconOnly?: boolean;
13
13
  }
14
14
  export declare function SegmentControl(props: SegmentControlProps): import("react/jsx-runtime").JSX.Element;
@@ -3,21 +3,21 @@ import { type ComponentPropsWithoutRef, type Ref } from 'react';
3
3
  import type { SelectConfiguration } from '../../utils/types';
4
4
  import type { SelectOptionType } from './select-option/SelectOption';
5
5
  export interface SelectProps<T> extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange' | 'defaultValue'> {
6
- defaultValue?: T;
7
- defaultOpen?: boolean;
8
- open?: boolean;
9
- value?: T;
10
- label?: string;
11
- options?: SelectOptionType<T>[];
12
- required?: boolean;
13
- onChange?: (value: T) => void;
14
- config?: SelectConfiguration;
15
- disabled?: boolean;
16
- name?: string;
17
- hint?: string;
18
- error?: string;
19
- onOpenChange?: (value: boolean) => void;
20
- renderLabelContent?: (label?: string | string[]) => JSX.Element;
6
+ readonly defaultValue?: T;
7
+ readonly defaultOpen?: boolean;
8
+ readonly open?: boolean;
9
+ readonly value?: T;
10
+ readonly label?: string;
11
+ readonly options?: SelectOptionType<T>[];
12
+ readonly required?: boolean;
13
+ readonly onChange?: (value: T) => void;
14
+ readonly config?: SelectConfiguration;
15
+ readonly disabled?: boolean;
16
+ readonly name?: string;
17
+ readonly hint?: string;
18
+ readonly error?: string;
19
+ readonly onOpenChange?: (value: boolean) => void;
20
+ readonly renderLabelContent?: (label?: string | string[]) => JSX.Element;
21
21
  }
22
22
  declare function SelectComponent<T>({ defaultValue, open, defaultOpen, value: controlled, label, options, onChange, required, config, disabled, name, id, children, hint, error, onOpenChange, renderLabelContent, ...props }: SelectProps<T>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
23
23
  export declare const Select: <T>(props: SelectProps<T> & {
@@ -1,8 +1,8 @@
1
1
  import { type ComponentPropsWithoutRef, type Ref } from 'react';
2
2
  export interface SelectOptionType<T> {
3
- label: string;
4
- data: T;
5
- disabled?: boolean;
3
+ readonly label: string;
4
+ readonly data: T;
5
+ readonly disabled?: boolean;
6
6
  }
7
7
  export interface SelectOptionProps<T> extends ComponentPropsWithoutRef<'span'> {
8
8
  option: SelectOptionType<T>;
@@ -1,17 +1,17 @@
1
+ import './Slider.scss';
1
2
  import type React from 'react';
2
3
  import type { ClassNameProps } from '../../utils/types';
3
- import './Slider.scss';
4
4
  export interface SliderProps extends ClassNameProps {
5
- disabled?: boolean;
6
- min: number;
7
- max: number;
8
- step?: number;
9
- value: number;
10
- onChangeCommitted?: (value: number) => void;
11
- label?: string;
12
- showValue?: boolean;
13
- onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: number) => void;
14
- id?: string;
15
- widthOffset?: number;
5
+ readonly disabled?: boolean;
6
+ readonly min: number;
7
+ readonly max: number;
8
+ readonly step?: number;
9
+ readonly value: number;
10
+ readonly onChangeCommitted?: (value: number) => void;
11
+ readonly label?: string;
12
+ readonly showValue?: boolean;
13
+ readonly onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: number) => void;
14
+ readonly id?: string;
15
+ readonly widthOffset?: number;
16
16
  }
17
17
  export declare function Slider({ disabled, label, max, min, onChange, onChangeCommitted, step, value, showValue, className, id: idProps, widthOffset, }: SliderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,13 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "./Slider.css";
2
3
  import classnames from "classnames";
3
4
  import { useCallback, useEffect, useRef, useState } from "react";
4
- import "./Slider.css";
5
5
  import { useId } from "../../utils/useId.js";
6
6
  function Slider({ disabled = false, label, max, min, onChange, onChangeCommitted, step, value, showValue = true, className, id: idProps, widthOffset = 8 }) {
7
7
  const id = useId(idProps);
8
8
  const [innerValue, setInnerValue] = useState(value);
9
9
  const [left, setLeft] = useState(null);
10
- const [numberoffset, setNumberOffset] = useState(0);
10
+ const [numberOffset, setNumberOffset] = useState(0);
11
11
  const labelEl = useRef(null);
12
12
  const classes = classnames('fwe-slider', {
13
13
  'fr-slider-value': !label && showValue
@@ -77,7 +77,7 @@ function Slider({ disabled = false, label, max, min, onChange, onChangeCommitted
77
77
  showValue && null !== left && /*#__PURE__*/ jsx("span", {
78
78
  className: "fr-slider-value",
79
79
  style: {
80
- left: `${left + numberoffset}px`
80
+ left: `${left + numberOffset}px`
81
81
  },
82
82
  children: innerValue
83
83
  }),
@@ -1,12 +1,12 @@
1
1
  import type { ClassNameProps } from '../../utils/types';
2
2
  export interface SwitchProps extends ClassNameProps {
3
- labelPosition?: 'before' | 'after' | 'below';
4
- large?: boolean;
5
- title: string;
6
- value?: boolean;
7
- defaultValue?: boolean;
8
- disabled?: boolean;
9
- onChange?: (value: boolean) => void;
10
- id?: string;
3
+ readonly labelPosition?: 'before' | 'after' | 'below';
4
+ readonly large?: boolean;
5
+ readonly title: string;
6
+ readonly value?: boolean;
7
+ readonly defaultValue?: boolean;
8
+ readonly disabled?: boolean;
9
+ readonly onChange?: (value: boolean) => void;
10
+ readonly id?: string;
11
11
  }
12
12
  export declare function Switch({ labelPosition, large, title, value, defaultValue, disabled, onChange, className, id: idProps, }: SwitchProps): import("react/jsx-runtime").JSX.Element;
@@ -1,22 +1,22 @@
1
+ import './TextArea.scss';
1
2
  import React from 'react';
2
3
  import type { ClassNameProps } from '../../utils/types';
3
- import './TextArea.scss';
4
4
  export interface TextAreaProps extends ClassNameProps {
5
- disabled?: boolean;
6
- required?: boolean;
7
- readonly?: boolean;
8
- onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
9
- onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
10
- onInput?: (event: React.FormEvent<HTMLTextAreaElement>) => void;
11
- onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
12
- label: string;
13
- hint?: string;
14
- error?: string;
15
- value?: string;
16
- defaultValue?: string;
17
- name?: string;
18
- rows?: number;
19
- maxLength?: number;
20
- id?: string;
5
+ readonly disabled?: boolean;
6
+ readonly required?: boolean;
7
+ readonly readonly?: boolean;
8
+ readonly onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
9
+ readonly onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
10
+ readonly onInput?: (event: React.FormEvent<HTMLTextAreaElement>) => void;
11
+ readonly onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
12
+ readonly label: string;
13
+ readonly hint?: string;
14
+ readonly error?: string;
15
+ readonly value?: string;
16
+ readonly defaultValue?: string;
17
+ readonly name?: string;
18
+ readonly rows?: number;
19
+ readonly maxLength?: number;
20
+ readonly id?: string;
21
21
  }
22
22
  export declare function TextArea({ disabled, onBlur, onChange, onFocus, onInput, readonly, required, label, error, hint, value, defaultValue, name, rows, maxLength, className, id: idProps, }: Readonly<TextAreaProps>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "./TextArea.css";
2
3
  import classnames from "classnames";
3
4
  import react, { useEffect, useState } from "react";
4
- import "./TextArea.css";
5
5
  import { useId } from "../../utils/useId.js";
6
6
  function TextArea({ disabled, onBlur, onChange, onFocus, onInput, readonly, required, label, error, hint, value, defaultValue, name, rows, maxLength, className, id: idProps }) {
7
7
  const controlled = void 0 !== value;
@@ -2,23 +2,23 @@ import './TimePicker.scss';
2
2
  import type React from 'react';
3
3
  import { type ComponentPropsWithoutRef } from 'react';
4
4
  export interface TimePickerOptions {
5
- timeFormat?: '12' | '24';
6
- showSeconds?: boolean;
7
- minuteStepSize?: number;
8
- range?: {
5
+ readonly timeFormat?: '12' | '24';
6
+ readonly showSeconds?: boolean;
7
+ readonly minuteStepSize?: number;
8
+ readonly range?: {
9
9
  minValue: Date;
10
10
  maxValue: Date;
11
11
  };
12
12
  }
13
13
  export interface TimePickerProps extends Omit<ComponentPropsWithoutRef<'button'>, 'value' | 'defaultValue' | 'onChange'> {
14
- error?: string;
15
- hint?: string;
16
- required?: boolean;
17
- disabled?: boolean;
18
- value?: Date;
19
- defaultValue?: Date;
20
- options?: TimePickerOptions;
21
- formatDate?: (date: Date) => string;
22
- onChange?: (date: Date) => void;
14
+ readonly error?: string;
15
+ readonly hint?: string;
16
+ readonly required?: boolean;
17
+ readonly disabled?: boolean;
18
+ readonly value?: Date;
19
+ readonly defaultValue?: Date;
20
+ readonly options?: TimePickerOptions;
21
+ readonly formatDate?: (date: Date) => string;
22
+ readonly onChange?: (date: Date) => void;
23
23
  }
24
24
  export declare const TimePicker: (props: TimePickerProps & React.RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
@@ -3,7 +3,7 @@ import "./TimePickerDropdown.css";
3
3
  import { IconCollapse, IconExpand } from "@festo-ui/react-icons";
4
4
  import classnames from "classnames";
5
5
  import { forwardRef, useEffect, useRef, useState } from "react";
6
- import { LinkButton } from "../../../components/link-button/LinkButton.js";
6
+ import { Button } from "../../../components/button/Button.js";
7
7
  import { useForkRef } from "../../../utils/useForkRef.js";
8
8
  import { useOnClickOutside } from "../../../utils/useOnClickOutside.js";
9
9
  import { TimePickerInput } from "./TimePickerInput.js";
@@ -112,7 +112,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
112
112
  /*#__PURE__*/ jsxs("div", {
113
113
  className: "fwe-timepicker-spinners-hours",
114
114
  children: [
115
- /*#__PURE__*/ jsx(LinkButton, {
115
+ /*#__PURE__*/ jsx(Button, {
116
+ tertiary: true,
116
117
  "aria-label": "hour up",
117
118
  className: "fwe-dark",
118
119
  onClick: ()=>handleHourIncrement(1),
@@ -127,7 +128,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
127
128
  onInput: handleHourChange,
128
129
  ref: hoursRef
129
130
  }),
130
- /*#__PURE__*/ jsx(LinkButton, {
131
+ /*#__PURE__*/ jsx(Button, {
132
+ tertiary: true,
131
133
  "aria-label": "hour down",
132
134
  className: "fwe-dark",
133
135
  onClick: ()=>handleHourIncrement(-1),
@@ -139,7 +141,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
139
141
  /*#__PURE__*/ jsxs("div", {
140
142
  className: "fwe-timepicker-spinners-minutes",
141
143
  children: [
142
- /*#__PURE__*/ jsx(LinkButton, {
144
+ /*#__PURE__*/ jsx(Button, {
145
+ tertiary: true,
143
146
  "aria-label": "minute up",
144
147
  className: "fwe-dark",
145
148
  onClick: ()=>handleMinuteIncrement(innerMinuteStepSize),
@@ -153,7 +156,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
153
156
  value: tmpMinutes ?? formatNumberWithLeadingZero(innerDate.getMinutes()),
154
157
  onInput: handleMinuteChange
155
158
  }),
156
- /*#__PURE__*/ jsx(LinkButton, {
159
+ /*#__PURE__*/ jsx(Button, {
160
+ tertiary: true,
157
161
  "aria-label": "minute down",
158
162
  className: "fwe-dark",
159
163
  onClick: ()=>handleMinuteIncrement(-innerMinuteStepSize),
@@ -165,7 +169,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
165
169
  showSeconds && /*#__PURE__*/ jsxs("div", {
166
170
  className: "fwe-timepicker-spinners-seconds",
167
171
  children: [
168
- /*#__PURE__*/ jsx(LinkButton, {
172
+ /*#__PURE__*/ jsx(Button, {
173
+ tertiary: true,
169
174
  "aria-label": "seconds up",
170
175
  className: "fwe-dark",
171
176
  onClick: ()=>handleSecondIncrement(1),
@@ -179,7 +184,8 @@ const TimePickerDropdown = /*#__PURE__*/ forwardRef(({ timeFormat, date, onDateC
179
184
  value: tmpSeconds ?? formatNumberWithLeadingZero(innerDate.getSeconds()),
180
185
  onInput: handleSecondChange
181
186
  }),
182
- /*#__PURE__*/ jsx(LinkButton, {
187
+ /*#__PURE__*/ jsx(Button, {
188
+ tertiary: true,
183
189
  "aria-label": "minute down",
184
190
  className: "fwe-dark",
185
191
  onClick: ()=>handleSecondIncrement(-1),
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { AccordionHeader } from './components/accordion/accordion-header/Accordi
3
3
  export { AccordionItem, type AccordionItemProps, } from './components/accordion/accordion-item/AccordionItem';
4
4
  export { AccordionItemBody } from './components/accordion/accordion-item/accordion-item-body/AccordionItemBody';
5
5
  export { AccordionItemHeader } from './components/accordion/accordion-item/accordion-item-header/AccordionItemHeader';
6
+ export { BottomSheet, type BottomSheetProps, } from './components/bottom-sheet/BottomSheet';
6
7
  export { Breadcrumb, type BreadcrumbProps, } from './components/breadcrumb/Breadcrumb';
7
8
  export { Button, type ButtonProps } from './components/button/Button';
8
9
  export { Card, type CardProps } from './components/card/Card';
@@ -11,7 +12,6 @@ export { CardHeader, type CardHeaderProps } from './components/card/CardHeader';
11
12
  export { CardNotification, type CardNotificationProps, } from './components/card/CardNotification';
12
13
  export { Chip, type ChipProps, ChipType } from './components/chips/chip/Chip';
13
14
  export { ChipContainer, type ChipContainerProps, } from './components/chips/chip-container/ChipContainer';
14
- export { LinkButton, type LinkButtonProps, } from './components/link-button/LinkButton';
15
15
  export { LoadingIndicator, type LoadingIndicatorProps, } from './components/loading-indicator/LoadingIndicator';
16
16
  export { MobileFlyout, type MobileFlyoutProps, } from './components/mobile-flyout/MobileFlyout';
17
17
  export { MobileFlyoutItem, type MobileFlyoutItemBaseProps, type MobileFlyoutItemProps, } from './components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem';
@@ -19,39 +19,35 @@ export { MobileFlyoutPage, type MobileFlyoutPageProps, } from './components/mobi
19
19
  export { AlertModal, type AlertModalProps, } from './components/modals/AlertModal';
20
20
  export { ConfirmModal, type ConfirmModalProps, } from './components/modals/ConfirmModal';
21
21
  export { CustomModal, type CustomModalProps, } from './components/modals/CustomModal';
22
- export { ImageGallery } from './components/modals/image-gallery/ImageGallery';
23
- export { ImageGalleryContent } from './components/modals/image-gallery/ImageGalleryContent';
24
- export { ImageGallerySwiper } from './components/modals/image-gallery/ImageGallerySwiper';
25
- export { ImageGalleryThumbsSwiper } from './components/modals/image-gallery/ImageGalleryThumbsSwiper';
26
- export { ModalBase, type ModalBaseProps, } from './components/modals/ModalBase';
22
+ export { ImageGallery, type ImageGalleryItemData, type ImageGalleryProps, } from './components/modals/image-gallery/ImageGallery';
23
+ export { type ImageDescriptiveContent, ImageGalleryContent, type ImageGalleryContentProps, } from './components/modals/image-gallery/ImageGalleryContent';
24
+ export { ImageGallerySwiper, type ImageGallerySwiperProps, } from './components/modals/image-gallery/ImageGallerySwiper';
25
+ export { ImageGalleryThumbsSwiper, type ImageGalleryThumbsSwiperProps, } from './components/modals/image-gallery/ImageGalleryThumbsSwiper';
27
26
  export { Prompt, type PromptProps } from './components/modals/Prompt';
28
- export { Pagination, type PaginationProps, PaginationType, } from './components/pagination/Pagination';
29
- export type { PopoverProps } from './components/popovers/popover/Popover';
30
- export { Popover } from './components/popovers/popover/Popover';
31
- export type { PopoverMenuProps } from './components/popovers/popover-menu/PopoverMenu';
32
- export { PopoverMenu } from './components/popovers/popover-menu/PopoverMenu';
27
+ export { Pagination, type PaginationProps, type PaginationType, } from './components/pagination/Pagination';
28
+ export { Legend, type LegendProps, type PopoverLegendItem, } from './components/popovers/legend/Legend';
29
+ export { Popover, type PopoverProps, } from './components/popovers/popover/Popover';
30
+ export { PopoverMenu, type PopoverMenuProps, } from './components/popovers/popover-menu/PopoverMenu';
33
31
  export { PopoverMenuContext } from './components/popovers/popover-menu/PopoverMenuContext';
34
- export type { PopoverMenuItemProps } from './components/popovers/popover-menu-item/PopoverMenuItem';
35
- export { PopoverMenuItem } from './components/popovers/popover-menu-item/PopoverMenuItem';
36
- export type { TooltipProps } from './components/popovers/tooltip/Tooltip';
37
- export { Tooltip } from './components/popovers/tooltip/Tooltip';
32
+ export { PopoverMenuItem, type PopoverMenuItemProps, } from './components/popovers/popover-menu-item/PopoverMenuItem';
33
+ export { Tooltip, type TooltipProps, } from './components/popovers/tooltip/Tooltip';
38
34
  export { Progress, type ProgressProps } from './components/progress/Progress';
39
35
  export { SearchInput, type SearchInputProps, } from './components/search-input/SearchInput';
40
36
  export { SearchSuggestion } from './components/search-input/SearchSuggestion';
41
- export { Snackbar } from './components/snackbar/Snackbar';
42
- export { addSnackbar, SnackbarProvider, } from './components/snackbar/SnackbarProvider';
37
+ export { Snackbar, type SnackbarConfig, type SnackbarData, type SnackbarProps, } from './components/snackbar/Snackbar';
38
+ export { addSnackbar, SnackbarProvider, type SnackbarProviderProps, } from './components/snackbar/SnackbarProvider';
43
39
  export { useSnackbar } from './components/snackbar/useSnackbar';
44
40
  export { StepperHorizontal, type StepperHorizontalProps, } from './components/stepper-horizontal/StepperHorizontal';
45
41
  export { StepHorizontal, type StepHorizontalProps, } from './components/stepper-horizontal/step-horizontal/StepHorizontal';
46
42
  export { StepperVertical, type StepperVerticalProps, } from './components/stepper-vertical/StepperVertical';
47
43
  export { StepVertical, type StepVerticalProps, } from './components/stepper-vertical/step-vertical/StepVertical';
48
- export { Tabs, type TabsConfiguration, type TabsProps, type TabViewType, } from './components/tab/Tabs';
44
+ export { type TabItemAppearance, Tabs, type TabsConfiguration, type TabsProps, type TabViewType, } from './components/tab/Tabs';
49
45
  export { TabPane, type TabPaneProps } from './components/tab/tab-pane/TabPane';
50
46
  export { TableHeaderCell, type TableHeaderCellProps, } from './components/table-header-cell/TableHeaderCell';
51
47
  export { Checkbox, type CheckboxProps } from './forms/checkbox/Checkbox';
52
- export { RadioButton, type RadioProps, } from './forms/radio/RadioButton';
48
+ export { RadioButton, type RadioButtonProps as RadioProps, } from './forms/radio/RadioButton';
53
49
  export { RadioGroup, type RadioGroupProps } from './forms/radio/RadioGroup';
54
- export { Segment, type SegmentComponentConfiguration, type SegmentProps, } from './forms/segment/Segment';
50
+ export { Segment, type SegmentConfiguration, type SegmentProps, } from './forms/segment/Segment';
55
51
  export { SegmentControl, type SegmentControlProps, } from './forms/segment/segment-control/SegmentControl';
56
52
  export { Select, type SelectProps } from './forms/select/Select';
57
53
  export { SelectOption, type SelectOptionProps, type SelectOptionType, } from './forms/select/select-option/SelectOption';
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { AccordionHeader } from "./components/accordion/accordion-header/Accordi
3
3
  import { AccordionItem } from "./components/accordion/accordion-item/AccordionItem.js";
4
4
  import { AccordionItemBody } from "./components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js";
5
5
  import { AccordionItemHeader } from "./components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js";
6
+ import { BottomSheet } from "./components/bottom-sheet/BottomSheet.js";
6
7
  import { Breadcrumb } from "./components/breadcrumb/Breadcrumb.js";
7
8
  import { Button } from "./components/button/Button.js";
8
9
  import { Card } from "./components/card/Card.js";
@@ -11,7 +12,6 @@ import { CardHeader } from "./components/card/CardHeader.js";
11
12
  import { CardNotification } from "./components/card/CardNotification.js";
12
13
  import { Chip, ChipType } from "./components/chips/chip/Chip.js";
13
14
  import { ChipContainer } from "./components/chips/chip-container/ChipContainer.js";
14
- import { LinkButton } from "./components/link-button/LinkButton.js";
15
15
  import { LoadingIndicator } from "./components/loading-indicator/LoadingIndicator.js";
16
16
  import { MobileFlyout } from "./components/mobile-flyout/MobileFlyout.js";
17
17
  import { MobileFlyoutItem } from "./components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js";
@@ -23,9 +23,9 @@ import { ImageGallery } from "./components/modals/image-gallery/ImageGallery.js"
23
23
  import { ImageGalleryContent } from "./components/modals/image-gallery/ImageGalleryContent.js";
24
24
  import { ImageGallerySwiper } from "./components/modals/image-gallery/ImageGallerySwiper.js";
25
25
  import { ImageGalleryThumbsSwiper } from "./components/modals/image-gallery/ImageGalleryThumbsSwiper.js";
26
- import { ModalBase } from "./components/modals/ModalBase.js";
27
26
  import { Prompt } from "./components/modals/Prompt.js";
28
- import { Pagination, PaginationType } from "./components/pagination/Pagination.js";
27
+ import { Pagination } from "./components/pagination/Pagination.js";
28
+ import { Legend } from "./components/popovers/legend/Legend.js";
29
29
  import { Popover } from "./components/popovers/popover/Popover.js";
30
30
  import { PopoverMenu } from "./components/popovers/popover-menu/PopoverMenu.js";
31
31
  import { PopoverMenuContext } from "./components/popovers/popover-menu/PopoverMenuContext.js";
@@ -56,4 +56,4 @@ import { Switch } from "./forms/switch/Switch.js";
56
56
  import { TextArea } from "./forms/text-area/TextArea.js";
57
57
  import { TextInput } from "./forms/text-input/TextInput.js";
58
58
  import { TimePicker } from "./forms/time-picker/TimePicker.js";
59
- export { Accordion, AccordionHeader, AccordionItem, AccordionItemBody, AccordionItemHeader, AlertModal, Breadcrumb, Button, Card, CardBody, CardHeader, CardNotification, Checkbox, Chip, ChipContainer, ChipType, ConfirmModal, CustomModal, ImageGallery, ImageGalleryContent, ImageGallerySwiper, ImageGalleryThumbsSwiper, LinkButton, LoadingIndicator, MobileFlyout, MobileFlyoutItem, MobileFlyoutPage, ModalBase, Pagination, PaginationType, Popover, PopoverMenu, PopoverMenuContext, PopoverMenuItem, Progress, Prompt, RadioButton, RadioGroup, SearchInput, SearchSuggestion, Segment, SegmentControl, Select, SelectOption, Slider, Snackbar, SnackbarProvider, StepHorizontal, StepVertical, StepperHorizontal, StepperVertical, Switch, TabPane, TableHeaderCell, Tabs, TextArea, TextInput, TimePicker, Tooltip, addSnackbar, useSnackbar };
59
+ export { Accordion, AccordionHeader, AccordionItem, AccordionItemBody, AccordionItemHeader, AlertModal, BottomSheet, Breadcrumb, Button, Card, CardBody, CardHeader, CardNotification, Checkbox, Chip, ChipContainer, ChipType, ConfirmModal, CustomModal, ImageGallery, ImageGalleryContent, ImageGallerySwiper, ImageGalleryThumbsSwiper, Legend, LoadingIndicator, MobileFlyout, MobileFlyoutItem, MobileFlyoutPage, Pagination, Popover, PopoverMenu, PopoverMenuContext, PopoverMenuItem, Progress, Prompt, RadioButton, RadioGroup, SearchInput, SearchSuggestion, Segment, SegmentControl, Select, SelectOption, Slider, Snackbar, SnackbarProvider, StepHorizontal, StepVertical, StepperHorizontal, StepperVertical, Switch, TabPane, TableHeaderCell, Tabs, TextArea, TextInput, TimePicker, Tooltip, addSnackbar, useSnackbar };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@festo-ui/react",
3
- "version": "9.0.0-dev.727",
3
+ "version": "9.0.0-dev.729",
4
4
  "author": "Festo UI (styleguide@festo.com)",
5
5
  "copyright": "Copyright (c) 2025 Festo SE & Co. KG. All rights reserved.",
6
6
  "license": "apache-2.0",
@@ -29,7 +29,8 @@
29
29
  "format": "biome check --write",
30
30
  "lint": "biome check",
31
31
  "storybook": "storybook dev -p 6007",
32
- "test": "rstest"
32
+ "test": "rstest",
33
+ "test:watch": "rstest --watch"
33
34
  },
34
35
  "dependencies": {
35
36
  "@festo-ui/react-icons": "*",
@@ -1,8 +0,0 @@
1
- import type { ComponentPropsWithoutRef } from 'react';
2
- export interface LinkButtonProps extends ComponentPropsWithoutRef<'button'> {
3
- disabled?: boolean;
4
- icon?: React.ReactNode;
5
- onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
6
- iconOnly?: boolean;
7
- }
8
- export declare const LinkButton: (props: LinkButtonProps & import("react").RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
@@ -1,26 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import classnames from "classnames";
3
- import { forwardRef } from "react";
4
- import { IconWrapper } from "../icon-wrapper/IconWrapper.js";
5
- const LinkButton = /*#__PURE__*/ forwardRef(({ icon, onClick, disabled = false, children, iconOnly = false, className, ...props }, ref)=>{
6
- const classes = classnames('fwe-btn', 'fwe-btn-link', {
7
- 'fwe-disabled': disabled
8
- }, {
9
- 'fwe-btn-icon': iconOnly
10
- }, className);
11
- return /*#__PURE__*/ jsxs("button", {
12
- onClick: onClick,
13
- type: "button",
14
- className: classes,
15
- disabled: disabled,
16
- ref: ref,
17
- ...props,
18
- children: [
19
- /*#__PURE__*/ jsx(IconWrapper, {
20
- icon: icon
21
- }),
22
- !iconOnly && children
23
- ]
24
- });
25
- });
26
- export { LinkButton };