@seeqdev/qomponents 0.0.209 → 0.0.215

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 (88) hide show
  1. package/dist/iconFont/FontCustom.woff +0 -0
  2. package/dist/iconFont/FontCustom.woff2 +0 -0
  3. package/dist/index.esm.js +76 -29429
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +78 -29481
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/Accordion/Accordion.d.ts +6 -3
  8. package/dist/src/Accordion/Accordion.types.d.ts +86 -83
  9. package/dist/src/Accordion/index.d.ts +2 -1
  10. package/dist/src/Alert/Alert.d.ts +8 -3
  11. package/dist/src/Alert/Alert.types.d.ts +58 -55
  12. package/dist/src/Alert/index.d.ts +2 -1
  13. package/dist/src/Button/Button.d.ts +6 -3
  14. package/dist/src/Button/Button.types.d.ts +151 -147
  15. package/dist/src/Button/index.d.ts +2 -1
  16. package/dist/src/ButtonGroup/ButtonGroup.d.ts +8 -3
  17. package/dist/src/ButtonGroup/ButtonGroup.types.d.ts +66 -62
  18. package/dist/src/ButtonGroup/index.d.ts +2 -1
  19. package/dist/src/ButtonWithDropdown/ButtonWithDropdown.d.ts +8 -5
  20. package/dist/src/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +209 -204
  21. package/dist/src/ButtonWithDropdown/index.d.ts +2 -1
  22. package/dist/src/ButtonWithPopover/ButtonWithPopover.d.ts +7 -4
  23. package/dist/src/ButtonWithPopover/ButtonWithPopover.types.d.ts +134 -129
  24. package/dist/src/ButtonWithPopover/index.d.ts +2 -1
  25. package/dist/src/Carousel/Carousel.d.ts +7 -3
  26. package/dist/src/Carousel/Carousel.types.d.ts +84 -81
  27. package/dist/src/Carousel/index.d.ts +2 -1
  28. package/dist/src/Checkbox/Checkbox.d.ts +8 -3
  29. package/dist/src/Checkbox/Checkbox.types.d.ts +92 -89
  30. package/dist/src/Checkbox/index.d.ts +2 -1
  31. package/dist/src/Collapse/Collapse.d.ts +6 -3
  32. package/dist/src/Collapse/Collapse.types.d.ts +17 -14
  33. package/dist/src/Collapse/index.d.ts +2 -1
  34. package/dist/src/Icon/Icon.d.ts +7 -3
  35. package/dist/src/Icon/Icon.types.d.ts +89 -85
  36. package/dist/src/Icon/index.d.ts +2 -1
  37. package/dist/src/InputGroup/InputGroup.d.ts +8 -3
  38. package/dist/src/InputGroup/InputGroup.types.d.ts +42 -38
  39. package/dist/src/InputGroup/index.d.ts +3 -2
  40. package/dist/src/Modal/Modal.d.ts +8 -3
  41. package/dist/src/Modal/Modal.types.d.ts +253 -249
  42. package/dist/src/Modal/index.d.ts +2 -1
  43. package/dist/src/ProgressBar/ProgressBar.d.ts +6 -3
  44. package/dist/src/ProgressBar/ProgressBar.types.d.ts +71 -66
  45. package/dist/src/ProgressBar/index.d.ts +2 -1
  46. package/dist/src/SeeqActionDropdown/SeeqActionDropdown.d.ts +7 -4
  47. package/dist/src/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +159 -154
  48. package/dist/src/SeeqActionDropdown/index.d.ts +2 -1
  49. package/dist/src/SeeqActionDropdown/variants.d.ts +9 -5
  50. package/dist/src/Select/Select.d.ts +9 -6
  51. package/dist/src/Select/Select.types.d.ts +219 -213
  52. package/dist/src/Select/index.d.ts +3 -2
  53. package/dist/src/Slider/Slider.d.ts +8 -3
  54. package/dist/src/Slider/Slider.types.d.ts +83 -80
  55. package/dist/src/Slider/index.d.ts +2 -1
  56. package/dist/src/SvgIcon/SvgIcon.d.ts +7 -3
  57. package/dist/src/SvgIcon/SvgIcon.types.d.ts +73 -69
  58. package/dist/src/SvgIcon/index.d.ts +2 -1
  59. package/dist/src/Tabs/Tabs.d.ts +6 -3
  60. package/dist/src/Tabs/Tabs.types.d.ts +83 -78
  61. package/dist/src/Tabs/index.d.ts +2 -1
  62. package/dist/src/TextArea/TextArea.d.ts +8 -3
  63. package/dist/src/TextArea/TextArea.types.d.ts +116 -111
  64. package/dist/src/TextArea/index.d.ts +2 -1
  65. package/dist/src/TextField/TextField.d.ts +8 -3
  66. package/dist/src/TextField/TextField.types.d.ts +198 -194
  67. package/dist/src/TextField/index.d.ts +2 -1
  68. package/dist/src/ToolbarButton/ToolbarButton.d.ts +7 -3
  69. package/dist/src/ToolbarButton/ToolbarButton.types.d.ts +121 -117
  70. package/dist/src/ToolbarButton/index.d.ts +2 -1
  71. package/dist/src/Tooltip/QTip.types.d.ts +16 -12
  72. package/dist/src/Tooltip/Qtip.d.ts +7 -2
  73. package/dist/src/Tooltip/Tooltip.d.ts +8 -3
  74. package/dist/src/Tooltip/Tooltip.types.d.ts +24 -20
  75. package/dist/src/Tooltip/index.d.ts +3 -2
  76. package/dist/src/Tooltip/qTip.utilities.d.ts +13 -3
  77. package/dist/src/TriggerWithDropdown/TriggerWithDropdown.d.ts +7 -4
  78. package/dist/src/TriggerWithDropdown/TriggerWithDropdown.types.d.ts +99 -94
  79. package/dist/src/TriggerWithDropdown/index.d.ts +2 -1
  80. package/dist/src/index.build.d.ts +50 -6
  81. package/dist/src/index.d.ts +50 -46
  82. package/dist/src/test-utils/is-browser-mode.d.ts +7 -4
  83. package/dist/src/types.d.ts +30 -28
  84. package/dist/src/utils/browserId.d.ts +8 -5
  85. package/dist/src/utils/svg.d.ts +6 -3
  86. package/dist/src/utils/validateStyleDimension.d.ts +6 -2
  87. package/dist/styles.css +16 -31
  88. package/package.json +13 -12
@@ -1,148 +1,152 @@
1
- import { TooltipProps } from '../Tooltip/Tooltip.types';
2
- import { IconType } from '../Icon/Icon.types';
3
- import React from 'react';
4
- export declare const buttonTypes: readonly ["button", "reset", "submit", "link"];
5
- export declare const buttonSizes: readonly ["xs", "sm", "lg"];
6
- export declare const buttonVariants: readonly ["outline", "theme", "theme-light", "warning", "danger", "no-border"];
7
- export declare const iconPositions: string[];
8
- export type ButtonType = (typeof buttonTypes)[number];
9
- export type ButtonSize = (typeof buttonSizes)[number];
10
- export type ButtonVariant = (typeof buttonVariants)[number];
11
- export type IconPosition = (typeof iconPositions)[number];
12
- export interface ButtonProps {
13
- /**
14
- * Callback function triggered when the button is clicked.
15
- * Receives the mouse event as a parameter for additional event handling.
16
- * Use this to define the primary action the button should perform.
17
- */
18
- onClick?: (e: React.MouseEvent) => void;
19
- /**
20
- * The text, element, or content to display inside the button.
21
- * Can be a string for simple text, a translation key, or any React element/node
22
- * for more complex content like formatted text or inline elements.
23
- */
24
- label?: string | React.JSX.Element | React.ReactNode;
25
- /**
26
- * Visual style variant that determines the button's appearance and color scheme:
27
- * - `outline`: White background with border, suitable for secondary actions
28
- * - `theme`: Primary theme colors, typically for main call-to-action buttons
29
- * - `theme-light`: Lighter version of theme colors for subtle primary actions
30
- * - `warning`: Yellow/orange styling for caution-related actions
31
- * - `danger`: Red styling for destructive or critical actions
32
- * - `no-border`: Borderless styling for minimal, text-like buttons
33
- * @default 'outline'
34
- */
35
- variant?: ButtonVariant;
36
- /**
37
- * HTML button type attribute that determines the button's behavior in forms:
38
- * - `button`: Standard button with no special form behavior (default)
39
- * - `submit`: Submits the parent form when clicked
40
- * - `reset`: Resets the parent form fields to their initial values
41
- * - `link`: Behaves like a button but renders as button type for Firefox compatibility
42
- * @default 'button'
43
- */
44
- type?: ButtonType;
45
- /**
46
- * Size variant that controls the button's dimensions and text size:
47
- * - `sm`: Small button with compact padding and smaller text (default)
48
- * - `lg`: Large button with generous padding and larger text
49
- * @default 'sm'
50
- */
51
- size?: ButtonSize;
52
- /**
53
- * When true, disables the button preventing user interaction.
54
- * Disabled buttons are visually dimmed and do not respond to clicks or focus.
55
- * The button will also have `pointer-events: none` applied via CSS.
56
- */
57
- disabled?: boolean;
58
- /**
59
- * Additional CSS classes to apply to the button element.
60
- * These classes are combined with the component's built-in styling classes.
61
- * Use this to customize appearance beyond the standard variants.
62
- */
63
- extraClassNames?: string;
64
- /**
65
- * Icon class name to display alongside the button text.
66
- * Typically uses FontAwesome classes (e.g., 'fc-zoom', 'fc-delete').
67
- * The icon is automatically styled to match the button's text color.
68
- */
69
- icon?: string;
70
- /**
71
- * Determines how the icon should be styled and colored:
72
- * - `text`: Uses the button's text color (default)
73
- * - `white`: Forces white color regardless of button variant
74
- * - `theme`: Uses theme-specific colors
75
- * - `color`: Uses a custom color specified in `iconColor`
76
- * @default 'text'
77
- */
78
- iconStyle?: IconType;
79
- /**
80
- * Custom color for the icon when `iconStyle` is set to 'color'.
81
- * Can be any valid CSS color value (hex, rgb, color name, etc.).
82
- * This property is required when iconStyle is 'color'.
83
- */
84
- iconColor?: string;
85
- /**
86
- * Position of the icon relative to the button text:
87
- * - `left`: Icon appears before the text with right margin
88
- * - `right`: Icon appears after the text with left margin
89
- * @default 'left'
90
- */
91
- iconPosition?: IconPosition;
92
- /**
93
- * Custom prefix for the icon class when not using standard FontAwesome icons.
94
- * By default, icons are prefixed with 'fa-sharp fa-regular', but some icons
95
- * require different prefixes. Use this to override the default behavior.
96
- */
97
- iconPrefix?: string;
98
- /**
99
- * HTML ID attribute for the button element.
100
- * Should be unique across the entire page for proper HTML semantics.
101
- * Also used as a prefix for the icon's test ID when an icon is present.
102
- */
103
- id?: string;
104
- /**
105
- * Test ID attribute for the button element used in automated testing.
106
- * Applied to the `data-testid` attribute for element selection in test suites.
107
- */
108
- testId?: string;
109
- /**
110
- * Controls whether the click event should stop propagation to parent elements.
111
- * When true (default), prevents the click from bubbling up the DOM tree.
112
- * Set to false if you need parent elements to also handle the click event.
113
- * @default true
114
- */
115
- stopPropagation?: boolean;
116
- /**
117
- * Tooltip text to display when hovering over the button.
118
- * When provided, the button will show a tooltip with this text on hover.
119
- * The tooltip appearance and behavior can be customized with `tooltipOptions`.
120
- */
121
- tooltip?: string;
122
- /**
123
- * When true, the tooltip text is rendered as HTML allowing for rich content.
124
- * When false (default), the tooltip text is treated as plain text for security.
125
- * Only set to true if you trust the tooltip content source.
126
- * @default false
127
- */
128
- isHtmlTooltip?: boolean;
129
- /**
130
- * Test ID attribute specifically for the tooltip element.
131
- * Used for automated testing to identify and interact with the tooltip.
132
- * Helpful when you need to test tooltip-specific behavior separately from the button.
133
- */
134
- tooltipTestId?: string;
135
- /**
136
- * Configuration options for customizing tooltip behavior and appearance.
137
- * Omits the 'text' property since that's handled by the `tooltip` prop.
138
- * Includes options like position, delay, and other tooltip-specific settings.
139
- */
140
- tooltipOptions?: Omit<TooltipProps, 'text'>;
141
- /**
142
- * When true, prevents the blur event from occurring on mouse down.
143
- * Useful when you want to keep focus on the current element after clicking the button.
144
- * Commonly used in scenarios where button clicks shouldn't interrupt form input focus.
145
- * @default false
146
- */
147
- preventBlur?: boolean;
1
+ import { TooltipProps } from "../Tooltip/Tooltip.types.js";
2
+ import { IconType } from "../Icon/Icon.types.js";
3
+ import React from "react";
4
+
5
+ //#region src/Button/Button.types.d.ts
6
+ declare const buttonTypes: readonly ["button", "reset", "submit", "link"];
7
+ declare const buttonSizes: readonly ["xs", "sm", "lg"];
8
+ declare const buttonVariants: readonly ["outline", "theme", "theme-light", "warning", "danger", "no-border"];
9
+ declare const iconPositions: string[];
10
+ type ButtonType = (typeof buttonTypes)[number];
11
+ type ButtonSize = (typeof buttonSizes)[number];
12
+ type ButtonVariant = (typeof buttonVariants)[number];
13
+ type IconPosition = (typeof iconPositions)[number];
14
+ interface ButtonProps {
15
+ /**
16
+ * Callback function triggered when the button is clicked.
17
+ * Receives the mouse event as a parameter for additional event handling.
18
+ * Use this to define the primary action the button should perform.
19
+ */
20
+ onClick?: (e: React.MouseEvent) => void;
21
+ /**
22
+ * The text, element, or content to display inside the button.
23
+ * Can be a string for simple text, a translation key, or any React element/node
24
+ * for more complex content like formatted text or inline elements.
25
+ */
26
+ label?: string | React.JSX.Element | React.ReactNode;
27
+ /**
28
+ * Visual style variant that determines the button's appearance and color scheme:
29
+ * - `outline`: White background with border, suitable for secondary actions
30
+ * - `theme`: Primary theme colors, typically for main call-to-action buttons
31
+ * - `theme-light`: Lighter version of theme colors for subtle primary actions
32
+ * - `warning`: Yellow/orange styling for caution-related actions
33
+ * - `danger`: Red styling for destructive or critical actions
34
+ * - `no-border`: Borderless styling for minimal, text-like buttons
35
+ * @default 'outline'
36
+ */
37
+ variant?: ButtonVariant;
38
+ /**
39
+ * HTML button type attribute that determines the button's behavior in forms:
40
+ * - `button`: Standard button with no special form behavior (default)
41
+ * - `submit`: Submits the parent form when clicked
42
+ * - `reset`: Resets the parent form fields to their initial values
43
+ * - `link`: Behaves like a button but renders as button type for Firefox compatibility
44
+ * @default 'button'
45
+ */
46
+ type?: ButtonType;
47
+ /**
48
+ * Size variant that controls the button's dimensions and text size:
49
+ * - `sm`: Small button with compact padding and smaller text (default)
50
+ * - `lg`: Large button with generous padding and larger text
51
+ * @default 'sm'
52
+ */
53
+ size?: ButtonSize;
54
+ /**
55
+ * When true, disables the button preventing user interaction.
56
+ * Disabled buttons are visually dimmed and do not respond to clicks or focus.
57
+ * The button will also have `pointer-events: none` applied via CSS.
58
+ */
59
+ disabled?: boolean;
60
+ /**
61
+ * Additional CSS classes to apply to the button element.
62
+ * These classes are combined with the component's built-in styling classes.
63
+ * Use this to customize appearance beyond the standard variants.
64
+ */
65
+ extraClassNames?: string;
66
+ /**
67
+ * Icon class name to display alongside the button text.
68
+ * Typically uses FontAwesome classes (e.g., 'fc-zoom', 'fc-delete').
69
+ * The icon is automatically styled to match the button's text color.
70
+ */
71
+ icon?: string;
72
+ /**
73
+ * Determines how the icon should be styled and colored:
74
+ * - `text`: Uses the button's text color (default)
75
+ * - `white`: Forces white color regardless of button variant
76
+ * - `theme`: Uses theme-specific colors
77
+ * - `color`: Uses a custom color specified in `iconColor`
78
+ * @default 'text'
79
+ */
80
+ iconStyle?: IconType;
81
+ /**
82
+ * Custom color for the icon when `iconStyle` is set to 'color'.
83
+ * Can be any valid CSS color value (hex, rgb, color name, etc.).
84
+ * This property is required when iconStyle is 'color'.
85
+ */
86
+ iconColor?: string;
87
+ /**
88
+ * Position of the icon relative to the button text:
89
+ * - `left`: Icon appears before the text with right margin
90
+ * - `right`: Icon appears after the text with left margin
91
+ * @default 'left'
92
+ */
93
+ iconPosition?: IconPosition;
94
+ /**
95
+ * Custom prefix for the icon class when not using standard FontAwesome icons.
96
+ * By default, icons are prefixed with 'fa-sharp fa-regular', but some icons
97
+ * require different prefixes. Use this to override the default behavior.
98
+ */
99
+ iconPrefix?: string;
100
+ /**
101
+ * HTML ID attribute for the button element.
102
+ * Should be unique across the entire page for proper HTML semantics.
103
+ * Also used as a prefix for the icon's test ID when an icon is present.
104
+ */
105
+ id?: string;
106
+ /**
107
+ * Test ID attribute for the button element used in automated testing.
108
+ * Applied to the `data-testid` attribute for element selection in test suites.
109
+ */
110
+ testId?: string;
111
+ /**
112
+ * Controls whether the click event should stop propagation to parent elements.
113
+ * When true (default), prevents the click from bubbling up the DOM tree.
114
+ * Set to false if you need parent elements to also handle the click event.
115
+ * @default true
116
+ */
117
+ stopPropagation?: boolean;
118
+ /**
119
+ * Tooltip text to display when hovering over the button.
120
+ * When provided, the button will show a tooltip with this text on hover.
121
+ * The tooltip appearance and behavior can be customized with `tooltipOptions`.
122
+ */
123
+ tooltip?: string;
124
+ /**
125
+ * When true, the tooltip text is rendered as HTML allowing for rich content.
126
+ * When false (default), the tooltip text is treated as plain text for security.
127
+ * Only set to true if you trust the tooltip content source.
128
+ * @default false
129
+ */
130
+ isHtmlTooltip?: boolean;
131
+ /**
132
+ * Test ID attribute specifically for the tooltip element.
133
+ * Used for automated testing to identify and interact with the tooltip.
134
+ * Helpful when you need to test tooltip-specific behavior separately from the button.
135
+ */
136
+ tooltipTestId?: string;
137
+ /**
138
+ * Configuration options for customizing tooltip behavior and appearance.
139
+ * Omits the 'text' property since that's handled by the `tooltip` prop.
140
+ * Includes options like position, delay, and other tooltip-specific settings.
141
+ */
142
+ tooltipOptions?: Omit<TooltipProps, 'text'>;
143
+ /**
144
+ * When true, prevents the blur event from occurring on mouse down.
145
+ * Useful when you want to keep focus on the current element after clicking the button.
146
+ * Commonly used in scenarios where button clicks shouldn't interrupt form input focus.
147
+ * @default false
148
+ */
149
+ preventBlur?: boolean;
148
150
  }
151
+ //#endregion
152
+ export { ButtonProps, ButtonSize, ButtonType, ButtonVariant, IconPosition, buttonSizes, buttonTypes, buttonVariants, iconPositions };
@@ -1 +1,2 @@
1
- export { default } from './Button';
1
+ import Button from "./Button.js";
2
+ export { Button as default };
@@ -1,6 +1,11 @@
1
- import React from 'react';
2
- import { ButtonGroupProps } from './ButtonGroup.types';
1
+ import { ButtonGroupProps } from "./ButtonGroup.types.js";
2
+ import React from "react";
3
+
4
+ //#region src/ButtonGroup/ButtonGroup.d.ts
5
+
3
6
  /**
4
7
  * ButtonGroup.
5
8
  */
6
- export declare const ButtonGroup: React.FunctionComponent<ButtonGroupProps>;
9
+ declare const ButtonGroup: React.FunctionComponent<ButtonGroupProps>;
10
+ //#endregion
11
+ export { ButtonGroup };
@@ -1,80 +1,84 @@
1
- import { ButtonProps } from '../Button/Button.types';
2
- import { TooltipComponentProps } from '../Tooltip/Tooltip.types';
1
+ import { TooltipComponentProps } from "../Tooltip/Tooltip.types.js";
2
+ import { ButtonProps } from "../Button/Button.types.js";
3
+
4
+ //#region src/ButtonGroup/ButtonGroup.types.d.ts
5
+
3
6
  /**
4
7
  * Interface representing the properties for a button within a ButtonGroup.
5
8
  * Used when you want to include an interactive button as part of the group.
6
9
  */
7
10
  interface AppendedButtonProps {
8
- /**
9
- * Specifies that this group item is a clickable button.
10
- * Button items can be selected, have active states, and trigger onChange events.
11
- */
12
- variant: 'button';
13
- /**
14
- * Configuration properties for the button component.
15
- * Omits the onClick handler since ButtonGroup manages selection internally.
16
- * Requires a value for selection tracking and optionally an isActive state.
17
- */
18
- buttonProps: Omit<ButtonProps, 'onClick'> & {
19
- /** Unique value used to identify this button when selected */
20
- value: string;
21
- /** Whether this button is currently in the active/selected state */
22
- isActive?: boolean;
23
- };
11
+ /**
12
+ * Specifies that this group item is a clickable button.
13
+ * Button items can be selected, have active states, and trigger onChange events.
14
+ */
15
+ variant: 'button';
16
+ /**
17
+ * Configuration properties for the button component.
18
+ * Omits the onClick handler since ButtonGroup manages selection internally.
19
+ * Requires a value for selection tracking and optionally an isActive state.
20
+ */
21
+ buttonProps: Omit<ButtonProps, 'onClick'> & {
22
+ /** Unique value used to identify this button when selected */
23
+ value: string;
24
+ /** Whether this button is currently in the active/selected state */
25
+ isActive?: boolean;
26
+ };
24
27
  }
25
28
  /**
26
29
  * Interface for including custom React elements within a ButtonGroup.
27
30
  * Used when you need to add non-button content like separators, labels, or custom components.
28
31
  */
29
32
  interface ElementProps {
30
- /**
31
- * Specifies that this group item is a custom React element.
32
- * Element items are purely presentational and don't participate in selection logic.
33
- */
34
- variant: 'element';
35
- /**
36
- * The React content to render within the button group.
37
- * Can be any valid React node including text, icons, separators, or complex components.
38
- */
39
- element: React.ReactNode;
40
- /**
41
- * Additional CSS classes to apply to the element's container.
42
- * Use this to style the element consistently with the button group's appearance.
43
- */
44
- extraClassNames?: string;
33
+ /**
34
+ * Specifies that this group item is a custom React element.
35
+ * Element items are purely presentational and don't participate in selection logic.
36
+ */
37
+ variant: 'element';
38
+ /**
39
+ * The React content to render within the button group.
40
+ * Can be any valid React node including text, icons, separators, or complex components.
41
+ */
42
+ element: React.ReactNode;
43
+ /**
44
+ * Additional CSS classes to apply to the element's container.
45
+ * Use this to style the element consistently with the button group's appearance.
46
+ */
47
+ extraClassNames?: string;
45
48
  }
46
49
  type Props = AppendedButtonProps | ElementProps | undefined;
47
50
  /**
48
51
  * Props for the ButtonGroup component that creates a cohesive group of related buttons.
49
52
  * Extends TooltipComponentProps to support tooltip functionality on the entire group.
50
53
  */
51
- export interface ButtonGroupProps extends TooltipComponentProps {
52
- /**
53
- * Array of items to display in the button group.
54
- * Each item can be either a button (for interactive elements) or an element (for decorative content).
55
- * Buttons within the group share consistent styling and spacing for a unified appearance.
56
- */
57
- buttons: Props[];
58
- /**
59
- * HTML ID attribute for the button group container.
60
- * Should be unique across the page for proper HTML semantics and accessibility.
61
- */
62
- id?: string;
63
- /**
64
- * Additional CSS classes to apply to the button group container.
65
- * Use this to customize the group's appearance, spacing, or layout beyond default styling.
66
- */
67
- extraClassNames?: string;
68
- /**
69
- * Callback function triggered when a button within the group is selected.
70
- * Receives the value of the selected button as defined in its buttonProps.value.
71
- * Use this to handle selection changes and update your application state.
72
- */
73
- onChange?: (value: string) => void;
74
- /**
75
- * Test ID attribute for the button group container used in automated testing.
76
- * Applied to the group's root element for test targeting and interaction.
77
- */
78
- testId?: string;
54
+ interface ButtonGroupProps extends TooltipComponentProps {
55
+ /**
56
+ * Array of items to display in the button group.
57
+ * Each item can be either a button (for interactive elements) or an element (for decorative content).
58
+ * Buttons within the group share consistent styling and spacing for a unified appearance.
59
+ */
60
+ buttons: Props[];
61
+ /**
62
+ * HTML ID attribute for the button group container.
63
+ * Should be unique across the page for proper HTML semantics and accessibility.
64
+ */
65
+ id?: string;
66
+ /**
67
+ * Additional CSS classes to apply to the button group container.
68
+ * Use this to customize the group's appearance, spacing, or layout beyond default styling.
69
+ */
70
+ extraClassNames?: string;
71
+ /**
72
+ * Callback function triggered when a button within the group is selected.
73
+ * Receives the value of the selected button as defined in its buttonProps.value.
74
+ * Use this to handle selection changes and update your application state.
75
+ */
76
+ onChange?: (value: string) => void;
77
+ /**
78
+ * Test ID attribute for the button group container used in automated testing.
79
+ * Applied to the group's root element for test targeting and interaction.
80
+ */
81
+ testId?: string;
79
82
  }
80
- export {};
83
+ //#endregion
84
+ export { ButtonGroupProps };
@@ -1 +1,2 @@
1
- export { ButtonGroup as default } from './ButtonGroup';
1
+ import { ButtonGroup } from "./ButtonGroup.js";
2
+ export { ButtonGroup as default };
@@ -1,5 +1,8 @@
1
- import * as React from 'react';
2
- import { ButtonWithDropdownProps } from './ButtonWithDropdown.types';
3
- declare const ButtonWithDropdown: React.FunctionComponent<ButtonWithDropdownProps>;
4
- export declare const Dropdown: React.FunctionComponent<ButtonWithDropdownProps>;
5
- export default ButtonWithDropdown;
1
+ import { ButtonWithDropdownProps } from "./ButtonWithDropdown.types.js";
2
+ import * as React$1 from "react";
3
+
4
+ //#region src/ButtonWithDropdown/ButtonWithDropdown.d.ts
5
+ declare const ButtonWithDropdown: React$1.FunctionComponent<ButtonWithDropdownProps>;
6
+ declare const Dropdown: React$1.FunctionComponent<ButtonWithDropdownProps>;
7
+ //#endregion
8
+ export { Dropdown, ButtonWithDropdown as default };