@ssa-ui-kit/core 2.33.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AccordionGroup/Accordion.d.ts +37 -0
- package/dist/components/AccordionGroup/AccordionContent.d.ts +48 -0
- package/dist/components/AccordionGroup/AccordionContext.d.ts +76 -2
- package/dist/components/AccordionGroup/AccordionGroup.d.ts +56 -0
- package/dist/components/AccordionGroup/AccordionTitle.d.ts +41 -0
- package/dist/components/AccordionGroup/types.d.ts +199 -1
- package/dist/components/Avatar/Avatar.d.ts +33 -0
- package/dist/components/Button/Button.d.ts +61 -0
- package/dist/components/Button/fixtures.d.ts +52 -31
- package/dist/components/Button/styles.d.ts +7 -12
- package/dist/components/Button/types.d.ts +98 -4
- package/dist/components/Charts/BarGaugeChart/components/BarGaugeChartHeader.d.ts +1 -1
- package/dist/components/Charts/BarLineComplexChart/BarLineComplexChartView.d.ts +2 -2
- package/dist/components/Charts/BarLineComplexChart/types.d.ts +2 -2
- package/dist/components/Charts/BigNumberChart/BigNumberChart.d.ts +4 -2
- package/dist/components/Charts/BigNumberChart/components/BigNumberChartHeader.d.ts +1 -1
- package/dist/components/Charts/BigNumberChart/components/TrendLine.d.ts +8 -3
- package/dist/components/Charts/BigNumberChart/components/TrendLineTooltip.d.ts +8 -5
- package/dist/components/Charts/GaugeChart/components/GaugeChartBase.d.ts +3 -1
- package/dist/components/Charts/GaugeChart/components/GaugeChartHeader.d.ts +1 -1
- package/dist/components/Charts/PieChart/PieChartLegendMarker.d.ts +1 -1
- package/dist/components/Charts/PieChart/styles.d.ts +1 -1
- package/dist/components/Charts/PieChart/types.d.ts +1 -1
- package/dist/components/Charts/RadarChart/RadarChart.d.ts +1 -1
- package/dist/components/Charts/RadarChart/components/RadarChartHeader.d.ts +1 -1
- package/dist/components/Charts/TreeMapChart/TreeMapChart.d.ts +1 -1
- package/dist/components/Charts/TreeMapChart/TreeMapChartHeader.d.ts +1 -1
- package/dist/components/Charts/index.d.ts +1 -0
- package/dist/components/Charts/utils/nivoReact19Compat.d.ts +18 -0
- package/dist/components/Checkbox/Checkbox.d.ts +84 -0
- package/dist/components/Checkbox/CheckboxBase.d.ts +1 -1
- package/dist/components/Checkbox/styles.d.ts +2 -2
- package/dist/components/Checkbox/types.d.ts +104 -3
- package/dist/components/Chip/Chip.d.ts +70 -0
- package/dist/components/Chip/constants.d.ts +1 -1
- package/dist/components/Chip/helpers.d.ts +6 -0
- package/dist/components/Chip/types.d.ts +129 -1
- package/dist/components/CollapsibleNavBar/CollapsibleNavBar.d.ts +1 -1
- package/dist/components/CollapsibleNavBar/CollapsibleNavBarContext.d.ts +2 -2
- package/dist/components/CollapsibleNavBar/components/TriggerIcon.d.ts +4 -2
- package/dist/components/CollapsibleNavBar/types.d.ts +9 -2
- package/dist/components/ColorPicker/components/CopyButton.d.ts +1 -1
- package/dist/components/DatePicker/constants.d.ts +22 -0
- package/dist/components/DatePicker/hooks/useDatePicker.d.ts +7 -5
- package/dist/components/DatePicker/index.d.ts +1 -0
- package/dist/components/DatePicker/styles.d.ts +3 -2
- package/dist/components/DatePicker/types.d.ts +10 -2
- package/dist/components/DatePicker/utils/dates.d.ts +2 -2
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/components/DateRangePicker/DateRangePickerFormBridge.d.ts +46 -0
- package/dist/components/DateRangePicker/components/DatesListWrapper.d.ts +3 -2
- package/dist/components/DateRangePicker/constants.d.ts +1 -0
- package/dist/components/DateRangePicker/hooks/useDateRangePicker.d.ts +22 -17
- package/dist/components/DateRangePicker/index.d.ts +3 -0
- package/dist/components/DateRangePicker/styles.d.ts +6 -4
- package/dist/components/DateRangePicker/types.d.ts +24 -7
- package/dist/components/DateRangePicker/utils/dates.d.ts +2 -2
- package/dist/components/Drawer/index.d.ts +2 -1
- package/dist/components/Dropdown/Dropdown.d.ts +88 -0
- package/dist/components/Dropdown/types.d.ts +78 -0
- package/dist/components/DropdownOptions/DropdownOptions.d.ts +31 -0
- package/dist/components/DropdownOptions/types.d.ts +22 -0
- package/dist/components/DropdownToggle/DropdownToggle.d.ts +1 -1
- package/dist/components/Field/FieldControl.d.ts +62 -1
- package/dist/components/Field/FieldDescription.d.ts +33 -0
- package/dist/components/Field/FieldError.d.ts +36 -0
- package/dist/components/Field/FieldLabel.d.ts +37 -0
- package/dist/components/Field/FieldProvider.d.ts +19 -1
- package/dist/components/Field/FieldRoot.d.ts +90 -0
- package/dist/components/Field/FieldSuccess.d.ts +34 -0
- package/dist/components/Field/index.d.ts +4 -0
- package/dist/components/Filters/FilterBlockWrapper.d.ts +3 -2
- package/dist/components/Filters/FiltersContext.d.ts +4 -4
- package/dist/components/Filters/hooks/useVisibility.d.ts +2 -2
- package/dist/components/FullscreenModeContext.d.ts +1 -4
- package/dist/components/Icon/icons/iconsList.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +39 -0
- package/dist/components/IconButton/index.d.ts +2 -0
- package/dist/components/IconButton/styles.d.ts +2 -0
- package/dist/components/IconButton/types.d.ts +41 -0
- package/dist/components/Indicator/types.d.ts +4 -2
- package/dist/components/Input/types.d.ts +157 -0
- package/dist/components/JsonSchemaForm/fields/DateRangeField.d.ts +15 -1
- package/dist/components/JsonSchemaForm/utils/dateFormats.d.ts +37 -0
- package/dist/components/JsonSchemaForm/utils/dateRangeField.d.ts +24 -0
- package/dist/components/JsonSchemaForm/utils/index.d.ts +1 -0
- package/dist/components/JsonSchemaForm/utils/selectWidget.d.ts +16 -0
- package/dist/components/Modal/Modal.d.ts +60 -0
- package/dist/components/Modal/types.d.ts +21 -1
- package/dist/components/ModalContent/ModalContent.d.ts +42 -1
- package/dist/components/ModalDialog/ModalDialog.d.ts +27 -0
- package/dist/components/ModalDialog/types.d.ts +18 -0
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +29 -2
- package/dist/components/ModalOpenButton/ModalOpenButton.d.ts +25 -1
- package/dist/components/NavBar/types.d.ts +1 -1
- package/dist/components/NotificationMenu/types.d.ts +3 -3
- package/dist/components/Pagination/ArrowButton.d.ts +32 -0
- package/dist/components/Pagination/Pagination.d.ts +81 -0
- package/dist/components/Pagination/PaginationButtons.d.ts +35 -0
- package/dist/components/Pagination/PaginationContext.d.ts +30 -0
- package/dist/components/Pagination/WithPagination.d.ts +47 -4
- package/dist/components/Pagination/components/RowsPerPageDropdown/RowsPerPageDropdown.d.ts +41 -0
- package/dist/components/Pagination/components/RowsPerPageDropdown/types.d.ts +39 -0
- package/dist/components/Pagination/styles.d.ts +1 -1
- package/dist/components/Pagination/types.d.ts +178 -0
- package/dist/components/PersonInfo/styles.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts +120 -0
- package/dist/components/Popover/PopoverClose.d.ts +26 -0
- package/dist/components/Popover/PopoverContent.d.ts +33 -0
- package/dist/components/Popover/PopoverDescription.d.ts +22 -1
- package/dist/components/Popover/PopoverHeading.d.ts +22 -1
- package/dist/components/Popover/PopoverTrigger.d.ts +30 -0
- package/dist/components/Popover/hooks/usePopover.d.ts +21 -0
- package/dist/components/Popover/hooks/usePopoverContext.d.ts +23 -0
- package/dist/components/Popover/types.d.ts +86 -0
- package/dist/components/Radio/Radio.d.ts +69 -1
- package/dist/components/Radio/RadioBase.d.ts +1 -1
- package/dist/components/Radio/types.d.ts +109 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/index.d.ts +1 -0
- package/dist/components/RadioGroup/types.d.ts +42 -0
- package/dist/components/SearchBox/SearchBox.d.ts +60 -0
- package/dist/components/SearchBox/SearchBoxInput.d.ts +1 -1
- package/dist/components/SearchBox/types.d.ts +46 -0
- package/dist/components/Slider/Slider.d.ts +53 -0
- package/dist/components/Slider/consts.d.ts +4 -0
- package/dist/components/Slider/index.d.ts +4 -0
- package/dist/components/Slider/styles.d.ts +90 -0
- package/dist/components/Slider/types.d.ts +69 -0
- package/dist/components/Switch/Switch.d.ts +66 -1
- package/dist/components/Switch/SwitchBase.d.ts +5 -1
- package/dist/components/Switch/SwitchContext.d.ts +50 -0
- package/dist/components/Switch/types.d.ts +74 -0
- package/dist/components/Table/Table.d.ts +74 -0
- package/dist/components/TableBody/TableBody.d.ts +55 -0
- package/dist/components/TableCell/TableCell.d.ts +56 -4
- package/dist/components/TableCell/types.d.ts +33 -0
- package/dist/components/TableCellHeader/TableCellHeader.d.ts +63 -2
- package/dist/components/TableCellHeader/types.d.ts +28 -0
- package/dist/components/TableFilters/TableFilters.d.ts +72 -0
- package/dist/components/TableFilters/hooks/useTableData.d.ts +3 -3
- package/dist/components/TableFilters/types.d.ts +130 -2
- package/dist/components/TableHead/TableHead.d.ts +37 -0
- package/dist/components/TableRow/TableRow.d.ts +2 -7
- package/dist/components/TableRow/types.d.ts +34 -0
- package/dist/components/TextField/TextField.d.ts +76 -0
- package/dist/components/TextField/types.d.ts +80 -0
- package/dist/components/Textarea/Textarea.d.ts +81 -0
- package/dist/components/Textarea/types.d.ts +95 -0
- package/dist/components/Tooltip/SimpleChartTooltip.d.ts +2 -1
- package/dist/components/Tooltip/Tooltip.d.ts +73 -0
- package/dist/components/Tooltip/types.d.ts +116 -5
- package/dist/components/TooltipContent/TooltipContent.d.ts +45 -0
- package/dist/components/TooltipTrigger/TooltipTrigger.d.ts +27 -1
- package/dist/components/Typeahead/Typeahead.context.d.ts +10 -4
- package/dist/components/Typeahead/Typeahead.d.ts +173 -9
- package/dist/components/Typeahead/components/TypeaheadOption.d.ts +1 -1
- package/dist/components/Typeahead/styles.d.ts +9 -4
- package/dist/components/Typeahead/types.d.ts +191 -1
- package/dist/components/Typeahead/useTypeahead.d.ts +13 -5
- package/dist/components/Typography/Typography.d.ts +50 -0
- package/dist/components/Typography/types.d.ts +67 -0
- package/dist/components/UserProfile/UserProfile.d.ts +76 -0
- package/dist/components/UserProfile/styles.d.ts +6 -4
- package/dist/components/UserProfile/types.d.ts +85 -1
- package/dist/components/WidgetCard/Title.d.ts +1 -1
- package/dist/components/WidgetCard/WidgetCardBase.d.ts +1 -1
- package/dist/components/WithLink.d.ts +1 -1
- package/dist/components/Wrapper/Wrapper.d.ts +83 -2
- package/dist/components/Wrapper/index.d.ts +1 -0
- package/dist/components/index.d.ts +113 -85
- package/dist/index.d.ts +1 -0
- package/dist/index.js +47400 -19567
- package/dist/index.js.map +1 -1
- package/dist/types/emotion.d.ts +63 -0
- package/dist/utils/react19HocCompat.d.ts +14 -0
- package/package.json +42 -33
|
@@ -1,7 +1,97 @@
|
|
|
1
1
|
import { type HTMLAttributes } from 'react';
|
|
2
2
|
import { FieldContextValue } from './FieldProvider';
|
|
3
|
+
/**
|
|
4
|
+
* Props for Field.Root component
|
|
5
|
+
*
|
|
6
|
+
* The root container component for form fields. Provides context for validation status,
|
|
7
|
+
* disabled state, and focus behavior to child Field components. Can render as a div
|
|
8
|
+
* (default) or use the asChild pattern to render without a wrapper.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <Field.Root status="error">
|
|
13
|
+
* <Field.Label htmlFor="email">Email</Field.Label>
|
|
14
|
+
* <Field.Control>
|
|
15
|
+
* <Input id="email" name="email" />
|
|
16
|
+
* </Field.Control>
|
|
17
|
+
* <Field.Error>Invalid email address</Field.Error>
|
|
18
|
+
* </Field.Root>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
3
21
|
export interface FieldRootProps extends Partial<FieldContextValue>, HTMLAttributes<HTMLDivElement> {
|
|
22
|
+
/**
|
|
23
|
+
* If true, renders without a wrapper div (asChild pattern)
|
|
24
|
+
* Useful for semantic HTML (e.g., wrapping with fieldset)
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
4
27
|
asChild?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Child components (typically Field.Label, Field.Control, Field.Description, etc.)
|
|
30
|
+
*/
|
|
5
31
|
children: React.ReactNode;
|
|
6
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Field - Compound layout primitives for building accessible form fields.
|
|
35
|
+
*
|
|
36
|
+
* Purpose: use when you need full control over field layout or when building custom
|
|
37
|
+
* form widgets (e.g. JsonSchemaForm, custom inputs). Field does not render an input
|
|
38
|
+
* itself — you compose Field.Root, Field.Label, Field.Control, Field.Description,
|
|
39
|
+
* Field.Error, and Field.Success around Input, Textarea, or other controls. Use
|
|
40
|
+
* TextField for a ready-made text input with label and validation UI.
|
|
41
|
+
*
|
|
42
|
+
* Field.Root - Root container for form field components. Provides context and
|
|
43
|
+
* styling container for form fields. Manages validation status, disabled state,
|
|
44
|
+
* and focus forwarding behavior. Use with Field.Label, Field.Control,
|
|
45
|
+
* Field.Description, Field.Error, and Field.Success components.
|
|
46
|
+
*
|
|
47
|
+
* @category Form Controls
|
|
48
|
+
* @subcategory Layout
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* // Basic field
|
|
53
|
+
* <Field.Root>
|
|
54
|
+
* <Field.Label htmlFor="username">Username</Field.Label>
|
|
55
|
+
* <Field.Control>
|
|
56
|
+
* <Input id="username" name="username" />
|
|
57
|
+
* </Field.Control>
|
|
58
|
+
* </Field.Root>
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```tsx
|
|
63
|
+
* // Field with validation
|
|
64
|
+
* <Field.Root status={hasError ? 'error' : 'basic'}>
|
|
65
|
+
* <Field.Label htmlFor="email">Email</Field.Label>
|
|
66
|
+
* <Field.Control>
|
|
67
|
+
* <Input id="email" name="email" />
|
|
68
|
+
* </Field.Control>
|
|
69
|
+
* <Field.Error>Email is required</Field.Error>
|
|
70
|
+
* </Field.Root>
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```tsx
|
|
75
|
+
* // Using asChild pattern with fieldset
|
|
76
|
+
* <Field.Root asChild status="error">
|
|
77
|
+
* <fieldset>
|
|
78
|
+
* <Field.Label htmlFor="age">Age</Field.Label>
|
|
79
|
+
* <Field.Control>
|
|
80
|
+
* <Input id="age" name="age" type="number" />
|
|
81
|
+
* </Field.Control>
|
|
82
|
+
* </fieldset>
|
|
83
|
+
* </Field.Root>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @see {@link Field.Label} - For accessible labels
|
|
87
|
+
* @see {@link Field.Control} - For input wrapper
|
|
88
|
+
* @see {@link Field.Description} - For helper text
|
|
89
|
+
* @see {@link Field.Error} - For error messages
|
|
90
|
+
* @see {@link Field.Success} - For success messages
|
|
91
|
+
*
|
|
92
|
+
* @accessibility
|
|
93
|
+
* - Label/control association via htmlFor on Field.Label
|
|
94
|
+
* - Status (error/success) and disabled flow from context to child components
|
|
95
|
+
* - Optional focus forwarding from Field.Control to the inner input
|
|
96
|
+
*/
|
|
7
97
|
export declare const FieldRoot: ({ children, ...props }: FieldRootProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props for Field.Success component
|
|
3
|
+
*
|
|
4
|
+
* Success message component that only displays when field status is 'success'.
|
|
5
|
+
* Automatically hidden when field is in 'basic' or 'error' state.
|
|
6
|
+
*/
|
|
1
7
|
export interface FieldSuccessProps {
|
|
8
|
+
/**
|
|
9
|
+
* Success message text to display
|
|
10
|
+
*/
|
|
2
11
|
children: React.ReactNode;
|
|
3
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Field.Success - Success message for form fields
|
|
15
|
+
*
|
|
16
|
+
* Displays success/validation confirmation messages below form controls.
|
|
17
|
+
* Only visible when the field status is 'success'. Automatically styled with
|
|
18
|
+
* success colors and hidden when status is 'basic' or 'error'.
|
|
19
|
+
*
|
|
20
|
+
* @category Form Controls
|
|
21
|
+
* @subcategory Layout
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <Field.Root status={isValid ? 'success' : 'basic'}>
|
|
26
|
+
* <Field.Label htmlFor="username">Username</Field.Label>
|
|
27
|
+
* <Field.Control>
|
|
28
|
+
* <Input id="username" name="username" />
|
|
29
|
+
* </Field.Control>
|
|
30
|
+
* <Field.Success>Username is available!</Field.Success>
|
|
31
|
+
* </Field.Root>
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @accessibility
|
|
35
|
+
* - Uses role="status" for screen reader announcements
|
|
36
|
+
* - Visible only when status is 'success'
|
|
37
|
+
*/
|
|
4
38
|
export declare const FieldSuccess: ({ children }: FieldSuccessProps) => import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
@@ -2,4 +2,8 @@ export * as Field from './index.parts';
|
|
|
2
2
|
export { type FieldRootProps as FieldProps } from './FieldRoot';
|
|
3
3
|
export { type FieldLabelProps } from './FieldLabel';
|
|
4
4
|
export { type FieldControlProps } from './FieldControl';
|
|
5
|
+
export { type FieldErrorProps } from './FieldError';
|
|
6
|
+
export { type FieldSuccessProps } from './FieldSuccess';
|
|
7
|
+
export { type FieldDescriptionProps } from './FieldDescription';
|
|
8
|
+
export { type FieldContextValue } from './FieldProvider';
|
|
5
9
|
export { useFieldContext } from './FieldProvider';
|
|
@@ -2,8 +2,9 @@ export declare const FilterBlockWrapper: import("@emotion/styled").StyledCompone
|
|
|
2
2
|
theme?: import("@emotion/react").Theme;
|
|
3
3
|
as?: React.ElementType;
|
|
4
4
|
} & {
|
|
5
|
-
direction?:
|
|
6
|
-
alignItems?:
|
|
5
|
+
direction?: import("../Wrapper").WrapperDirection;
|
|
6
|
+
alignItems?: import("../Wrapper").WrapperAlignItems;
|
|
7
|
+
justifyContent?: import("../Wrapper").WrapperJustifyContent;
|
|
7
8
|
fade?: boolean;
|
|
8
9
|
fadeDelay?: number;
|
|
9
10
|
isVisible?: boolean;
|
|
@@ -2,8 +2,8 @@ import { UseTableDataResult } from '../TableFilters/hooks/useTableData';
|
|
|
2
2
|
import { BaseSyntheticEvent } from 'react';
|
|
3
3
|
export declare const FiltersContext: import("react").Context<{
|
|
4
4
|
checkboxData: import("../TableFilters/types").TableFilterConfig;
|
|
5
|
-
wrapperRef: import("react").RefObject<HTMLElement> | undefined;
|
|
6
|
-
refsList: import("react").
|
|
5
|
+
wrapperRef: import("react").RefObject<HTMLElement | null> | undefined;
|
|
6
|
+
refsList: import("react").RefObject<HTMLElement | null>[];
|
|
7
7
|
setElementRef: (groupName: string, element: HTMLElement | null) => void;
|
|
8
8
|
onCheckboxToggle: (groupName: string, name: string | number) => void;
|
|
9
9
|
onDropdownChange: (groupName: string, name: string | number) => void;
|
|
@@ -13,8 +13,8 @@ export declare const FiltersContext: import("react").Context<{
|
|
|
13
13
|
}>;
|
|
14
14
|
export declare const useFiltersContext: () => {
|
|
15
15
|
checkboxData: import("../TableFilters/types").TableFilterConfig;
|
|
16
|
-
wrapperRef: import("react").RefObject<HTMLElement> | undefined;
|
|
17
|
-
refsList: import("react").
|
|
16
|
+
wrapperRef: import("react").RefObject<HTMLElement | null> | undefined;
|
|
17
|
+
refsList: import("react").RefObject<HTMLElement | null>[];
|
|
18
18
|
setElementRef: (groupName: string, element: HTMLElement | null) => void;
|
|
19
19
|
onCheckboxToggle: (groupName: string, name: string | number) => void;
|
|
20
20
|
onDropdownChange: (groupName: string, name: string | number) => void;
|
|
@@ -3,8 +3,8 @@ import { ElementInfo } from '../types';
|
|
|
3
3
|
export type RefsByKey = Record<string, ElementInfo>;
|
|
4
4
|
type UseVisibilityParams = {
|
|
5
5
|
checkboxData: TableFilterConfig;
|
|
6
|
-
refsList: Array<React.
|
|
7
|
-
wrapperRef?: React.RefObject<HTMLElement>;
|
|
6
|
+
refsList: Array<React.RefObject<HTMLElement | null>>;
|
|
7
|
+
wrapperRef?: React.RefObject<HTMLElement | null>;
|
|
8
8
|
onVisibilityProcessed?: () => void;
|
|
9
9
|
};
|
|
10
10
|
export declare const useVisibility: ({ checkboxData, wrapperRef, refsList, onVisibilityProcessed, }: UseVisibilityParams) => {
|
|
@@ -8,7 +8,4 @@ export type FullscreenModeContextType = {
|
|
|
8
8
|
export declare const FullscreenModeContext: import("react").Context<FullscreenModeContextType>;
|
|
9
9
|
export declare const FullscreenModeProvider: ({ children, }: React.PropsWithChildren) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
10
10
|
export declare const useFullscreenMode: () => FullscreenModeContextType;
|
|
11
|
-
export declare const WithFullscreenMode: <T extends object>(Component: React.ComponentType<T>, rest?: Parameters<typeof FullscreenModeProvider>[0]) =>
|
|
12
|
-
(props: T): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
13
|
-
displayName: string;
|
|
14
|
-
};
|
|
11
|
+
export declare const WithFullscreenMode: <T extends object>(Component: React.ComponentType<T>, rest?: Parameters<typeof FullscreenModeProvider>[0]) => React.ComponentType<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const iconsList: ("visible" | "
|
|
1
|
+
export declare const iconsList: ("visible" | "warning" | "archive" | "search" | "arrow-down" | "arrow-up" | "assessment" | "attention" | "ban-user" | "bin" | "calendar" | "carrot-down" | "carrot-left" | "carrot-right" | "carrot-up" | "certification" | "certification-expiring" | "change" | "chart" | "check" | "check-circle" | "check-circle-inverted" | "children" | "circle" | "circular" | "clock" | "cogwheel" | "company" | "confirm-email" | "copy" | "cross" | "diet" | "edit" | "email" | "employee" | "employee-terminated" | "excel-download" | "filter" | "filter-funnel" | "fte" | "geography" | "home" | "import" | "information" | "invisible" | "language" | "lock" | "log-in" | "log-out" | "maximize" | "measurements" | "message" | "minus" | "minus-circle" | "minus-circle-inverted" | "more" | "more-vertical" | "notification" | "pages" | "party" | "plus" | "plus-circle" | "plus-circle-inverted" | "probation-period" | "profiles-changes" | "radio-on" | "report" | "robot" | "roles" | "seniority" | "settings" | "sleep" | "staff-growth-coefficient" | "staff-turnover-coefficient" | "stats" | "time-tracking" | "trainings" | "unarchive" | "union" | "unlock" | "user")[];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { IconButtonProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* IconButton - Square icon-only button for icon actions
|
|
4
|
+
*
|
|
5
|
+
* A compact button that displays a single icon from the kit (e.g. edit, bin, search).
|
|
6
|
+
* Uses the kit's Icon and theme. Good for row actions, toolbars, and secondary actions
|
|
7
|
+
* where a text label is not needed. Optional tooltip on hover and full style overrides
|
|
8
|
+
* via a single styles prop.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Any icon from the kit via icon name
|
|
12
|
+
* - Optional tooltip (title) on hover via kit Tooltip
|
|
13
|
+
* - Optional aria-label; defaults to raw icon name for screen readers
|
|
14
|
+
* - Single styles prop: button, iconColor, icon (all overridable)
|
|
15
|
+
* - Transparent or grey background variant; disabled state
|
|
16
|
+
*
|
|
17
|
+
* @category Form Controls
|
|
18
|
+
* @subcategory Action
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <IconButton icon="edit" onClick={onEdit} aria-label="Edit" />
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <IconButton icon="bin" onClick={onDelete} title="Delete" transparent />
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <IconButton
|
|
33
|
+
* icon="search"
|
|
34
|
+
* onClick={onSearch}
|
|
35
|
+
* styles={{ button: { marginLeft: 8 }, iconColor: theme.colors.blue }}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare const IconButton: ({ icon, onClick, "aria-label": ariaLabel, title, disabled, transparent, styles, }: IconButtonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Interpolation, Theme } from '@emotion/react';
|
|
2
|
+
import type { MapIconsType } from '../Icon/types';
|
|
3
|
+
export type IconButtonProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Icon name from the UI kit Icon component (e.g. "edit", "bin", "search")
|
|
6
|
+
*/
|
|
7
|
+
icon: keyof MapIconsType;
|
|
8
|
+
/**
|
|
9
|
+
* Click handler
|
|
10
|
+
*/
|
|
11
|
+
onClick: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Accessible label for screen readers. When omitted, the raw icon name is used.
|
|
14
|
+
*/
|
|
15
|
+
'aria-label'?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Tooltip text; when provided, uses the kit's Tooltip on hover.
|
|
18
|
+
*/
|
|
19
|
+
title?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Disables the button and applies disabled styles
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Use transparent background instead of theme grey
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
transparent?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Custom styles in one prop. Each key is applied where it belongs:
|
|
32
|
+
* - `button`: Emotion styles merged with default button styles
|
|
33
|
+
* - `iconColor`: icon color (defaults to theme.colors.greyDarker)
|
|
34
|
+
* - `icon`: Emotion styles passed to the Icon
|
|
35
|
+
*/
|
|
36
|
+
styles?: {
|
|
37
|
+
button?: Interpolation<Theme>;
|
|
38
|
+
iconColor?: string;
|
|
39
|
+
icon?: Interpolation<Theme>;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export interface IndicatorProps {
|
|
2
2
|
isVisible: boolean;
|
|
3
|
-
children: React.ReactElement
|
|
3
|
+
children: React.ReactElement<{
|
|
4
|
+
ref: React.Ref<HTMLDivElement | null>;
|
|
5
|
+
}>;
|
|
4
6
|
position?: 'right' | 'left';
|
|
5
7
|
background?: string;
|
|
6
|
-
text?: string | number | JSX.Element;
|
|
8
|
+
text?: string | number | React.JSX.Element;
|
|
7
9
|
}
|
|
8
10
|
export type ChildrenDataProps = Record<string, number>;
|
|
@@ -4,33 +4,190 @@ import type { Interpolation, Theme } from '@emotion/react';
|
|
|
4
4
|
interface ExtendedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
5
5
|
'data-testid'?: string;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Props for the Input component
|
|
9
|
+
*
|
|
10
|
+
* A flexible text input component with built-in validation, status indicators,
|
|
11
|
+
* icon support, and React Hook Form integration. Supports all standard HTML input
|
|
12
|
+
* types and provides visual feedback for validation states.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* // Basic input with React Hook Form
|
|
17
|
+
* const { register } = useForm();
|
|
18
|
+
* <Input
|
|
19
|
+
* name="email"
|
|
20
|
+
* type="email"
|
|
21
|
+
* placeholder="Enter your email"
|
|
22
|
+
* register={register}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* // Input with validation
|
|
29
|
+
* <Input
|
|
30
|
+
* name="password"
|
|
31
|
+
* type="password"
|
|
32
|
+
* register={register}
|
|
33
|
+
* validationSchema={{
|
|
34
|
+
* required: 'Password is required',
|
|
35
|
+
* minLength: { value: 8, message: 'Must be at least 8 characters' }
|
|
36
|
+
* }}
|
|
37
|
+
* status={errors.password ? 'error' : 'basic'}
|
|
38
|
+
* errors={errors.password}
|
|
39
|
+
* showHelperText
|
|
40
|
+
* />
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```tsx
|
|
45
|
+
* // Input with icons and helper text
|
|
46
|
+
* <Input
|
|
47
|
+
* name="search"
|
|
48
|
+
* placeholder="Search products..."
|
|
49
|
+
* startElement={<Icon name="search" />}
|
|
50
|
+
* endElement={<Icon name="clear" onClick={handleClear} />}
|
|
51
|
+
* helperText="Type to search"
|
|
52
|
+
* showHelperText
|
|
53
|
+
* />
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @note React Hook Form integration is optional. If `register` is not provided,
|
|
57
|
+
* the component will still work but validation features will be unavailable.
|
|
58
|
+
*/
|
|
7
59
|
export interface InputProps extends Partial<Pick<UseFormReturn, 'register' | 'control' | 'setValue'>> {
|
|
60
|
+
/**
|
|
61
|
+
* Name attribute for the input, required for React Hook Form integration
|
|
62
|
+
*/
|
|
8
63
|
name: string;
|
|
64
|
+
/**
|
|
65
|
+
* Visual validation status of the input
|
|
66
|
+
* - `basic`: Default state, no validation feedback
|
|
67
|
+
* - `error`: Error state with red border and error icon
|
|
68
|
+
* - `success`: Success state with green border and success icon
|
|
69
|
+
* - `custom`: Custom styling (no default status styling)
|
|
70
|
+
* @default 'basic'
|
|
71
|
+
*/
|
|
9
72
|
status?: keyof InputStatusColors;
|
|
73
|
+
/**
|
|
74
|
+
* HTML input type attribute
|
|
75
|
+
* Supports all standard HTML input types (text, email, password, number, etc.)
|
|
76
|
+
* @default 'text'
|
|
77
|
+
*/
|
|
10
78
|
type?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Placeholder text displayed when input is empty
|
|
81
|
+
*/
|
|
11
82
|
placeholder?: string;
|
|
83
|
+
/**
|
|
84
|
+
* React Hook Form validation schema
|
|
85
|
+
* Object containing validation rules (required, minLength, pattern, etc.)
|
|
86
|
+
*/
|
|
12
87
|
validationSchema?: Record<string, unknown>;
|
|
88
|
+
/**
|
|
89
|
+
* Whether the input is disabled
|
|
90
|
+
* Disabled inputs cannot be edited and appear visually muted
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
13
93
|
disabled?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Custom CSS class name for the input element
|
|
96
|
+
*/
|
|
14
97
|
className?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Custom CSS class name for the wrapper container
|
|
100
|
+
*/
|
|
15
101
|
wrapperClassName?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Custom CSS class name for the helper text container
|
|
104
|
+
*/
|
|
16
105
|
helperClassName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Custom element type to render as (for composition)
|
|
108
|
+
*/
|
|
17
109
|
as?: React.ElementType;
|
|
110
|
+
/**
|
|
111
|
+
* React element to display before the input (e.g., icon)
|
|
112
|
+
* Commonly an Icon component
|
|
113
|
+
*/
|
|
18
114
|
startElement?: React.ReactElement;
|
|
115
|
+
/**
|
|
116
|
+
* React element to display after the input (e.g., icon or action button)
|
|
117
|
+
* Commonly an Icon component or clear button
|
|
118
|
+
*/
|
|
19
119
|
endElement?: React.ReactElement;
|
|
120
|
+
/**
|
|
121
|
+
* Custom Emotion CSS styles
|
|
122
|
+
*/
|
|
20
123
|
css?: Interpolation<Theme>;
|
|
124
|
+
/**
|
|
125
|
+
* Additional props to pass directly to the underlying input element
|
|
126
|
+
* Includes all standard HTML input attributes
|
|
127
|
+
*/
|
|
21
128
|
inputProps?: ExtendedInputProps;
|
|
129
|
+
/**
|
|
130
|
+
* Tooltip text to display when hovering over error icon
|
|
131
|
+
* Only visible when status is 'error' and showStatusIcon is true
|
|
132
|
+
*/
|
|
22
133
|
errorTooltip?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Tooltip text to display when hovering over success icon
|
|
136
|
+
* Only visible when status is 'success' and showStatusIcon is true
|
|
137
|
+
*/
|
|
23
138
|
successTooltip?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Whether to show helper text below the input
|
|
141
|
+
* Displays validation errors, helper text, or character count
|
|
142
|
+
* @default false
|
|
143
|
+
*/
|
|
24
144
|
showHelperText?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Whether to show status icon (error/success) inside the input
|
|
147
|
+
* Hidden when endElement is provided or input is disabled
|
|
148
|
+
* @default true
|
|
149
|
+
*/
|
|
25
150
|
showStatusIcon?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Whether to show borders around the input
|
|
153
|
+
* @default true
|
|
154
|
+
*/
|
|
26
155
|
showBorders?: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Helper text to display below the input
|
|
158
|
+
* Only shown when showHelperText is true and no errors are present
|
|
159
|
+
*/
|
|
27
160
|
helperText?: string;
|
|
161
|
+
/**
|
|
162
|
+
* Maximum character length for the input
|
|
163
|
+
* When provided with showHelperText, displays character count (e.g., "45 / 100")
|
|
164
|
+
*/
|
|
28
165
|
maxLength?: number;
|
|
166
|
+
/**
|
|
167
|
+
* React Hook Form field error object
|
|
168
|
+
* Used to display validation error messages
|
|
169
|
+
*/
|
|
29
170
|
errors?: FieldError;
|
|
171
|
+
/**
|
|
172
|
+
* Keyboard event handler for keyup events
|
|
173
|
+
* Also used internally for character counting when maxLength is provided
|
|
174
|
+
*/
|
|
30
175
|
onKeyUp?: KeyboardEventHandler<HTMLInputElement>;
|
|
176
|
+
/**
|
|
177
|
+
* Click handler for the start element
|
|
178
|
+
* Useful for making start icons interactive (e.g., toggle password visibility)
|
|
179
|
+
*/
|
|
31
180
|
onStartElementClick?: (event: BaseSyntheticEvent) => void;
|
|
181
|
+
/**
|
|
182
|
+
* Click handler for the end element
|
|
183
|
+
* Useful for making end icons interactive (e.g., clear button)
|
|
184
|
+
*/
|
|
32
185
|
onEndElementClick?: (event: BaseSyntheticEvent) => void;
|
|
33
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Status color mappings for Input component
|
|
189
|
+
* Defines the visual styling for different validation states
|
|
190
|
+
*/
|
|
34
191
|
export interface InputStatusColors {
|
|
35
192
|
basic: Interpolation<Theme>;
|
|
36
193
|
error: Interpolation<Theme>;
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
import { FieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* DateRangeField - RJSF adapter for DateRangePicker
|
|
4
|
+
*
|
|
5
|
+
* Uses DateRangePickerFormBridge so that:
|
|
6
|
+
* - Format conversion: formData (outputFormat) → DateRangePicker (inputFormat) happens in the bridge
|
|
7
|
+
* - "Present" handling: form stores PRESENT_VALUE string; picker only sees null (see bridge)
|
|
8
|
+
*
|
|
9
|
+
* SCHEMA REQUIREMENT: type must be "object" with properties start and end (each typically type: "string").
|
|
10
|
+
*
|
|
11
|
+
* USAGE (example schemas):
|
|
12
|
+
* - Both optional: { type: "object", properties: { start: { type: "string" }, end: { type: "string" } } }
|
|
13
|
+
* - Only start required: same + required: ["start"]
|
|
14
|
+
* - Both required (or "present" for end): same + required: ["start", "end"] // "present" satisfies string
|
|
15
|
+
*/
|
|
16
|
+
export declare const DateRangeField: <T = unknown, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = Record<string, unknown>>(props: FieldProps<T, S, F>) => import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common date format type used by both DatePicker and DateRangePicker
|
|
3
|
+
* Valid formats: 'mm/dd/yyyy', 'dd/mm/yyyy', 'mm/yyyy', 'yyyy'
|
|
4
|
+
*
|
|
5
|
+
* This type is shared between:
|
|
6
|
+
* - DatePicker (DatePickerFormat)
|
|
7
|
+
* - DateRangePicker (Format)
|
|
8
|
+
* Both are identical, so we use this common type for validation
|
|
9
|
+
*/
|
|
10
|
+
export type DateFormat = 'mm/dd/yyyy' | 'dd/mm/yyyy' | 'mm/yyyy' | 'yyyy';
|
|
11
|
+
/**
|
|
12
|
+
* Common picker/calendar type used by both DatePicker and DateRangePicker
|
|
13
|
+
* Valid types: 'days', 'months', 'years'
|
|
14
|
+
*
|
|
15
|
+
* This type is shared between:
|
|
16
|
+
* - DateRangePicker (RangePickerType, CalendarType)
|
|
17
|
+
* - DatePicker (CalendarType)
|
|
18
|
+
* All are identical, so we use this common type
|
|
19
|
+
*/
|
|
20
|
+
export type PickerCalendarType = 'days' | 'months' | 'years';
|
|
21
|
+
/**
|
|
22
|
+
* Validates if a value is a valid date format
|
|
23
|
+
* Used by both DatePicker (DateWidget) and DateRangePicker (DateRangeField)
|
|
24
|
+
*
|
|
25
|
+
* This replaces:
|
|
26
|
+
* - isValidFormat (DateRangeField)
|
|
27
|
+
* - isValidDatePickerFormat (DateWidget)
|
|
28
|
+
*/
|
|
29
|
+
export declare const isValidDateFormat: (value: unknown) => value is DateFormat;
|
|
30
|
+
/**
|
|
31
|
+
* Valid output formats include:
|
|
32
|
+
* - Input formats: 'mm/dd/yyyy', 'dd/mm/yyyy', 'mm/yyyy', 'yyyy'
|
|
33
|
+
* - ISO formats: 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'
|
|
34
|
+
*
|
|
35
|
+
* Used for outputFormat validation in DateRangeField and DateWidget
|
|
36
|
+
*/
|
|
37
|
+
export declare const isValidOutputFormat: (value: unknown) => value is string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DateRangePickerProps } from '../../DateRangePicker/types';
|
|
2
|
+
/**
|
|
3
|
+
* Props that need special handling (validation/transformation) or are RJSF-controlled
|
|
4
|
+
* These are extracted explicitly and NOT spread
|
|
5
|
+
*/
|
|
6
|
+
export type NonSpreadableProps = 'format' | 'rangePickerType' | 'outputFormat' | 'name' | 'onChange' | 'value' | 'defaultValue';
|
|
7
|
+
/**
|
|
8
|
+
* Props that can be automatically spread from uiOptions
|
|
9
|
+
* New props added to DateRangePickerProps will automatically be included here
|
|
10
|
+
*/
|
|
11
|
+
export type SpreadableFromUiOptions = Omit<DateRangePickerProps, NonSpreadableProps>;
|
|
12
|
+
/**
|
|
13
|
+
* Extract props that need transformation/validation from uiOptions
|
|
14
|
+
*/
|
|
15
|
+
export declare const extractTransformedProps: (uiOptions: Record<string, unknown>) => {
|
|
16
|
+
rangePickerType: import("./dateFormats").PickerCalendarType;
|
|
17
|
+
outputFormat: string;
|
|
18
|
+
format: import("./dateFormats").DateFormat | undefined;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Extract props that can be spread automatically from uiOptions
|
|
22
|
+
* Filters out props that need special handling
|
|
23
|
+
*/
|
|
24
|
+
export declare const extractSpreadableProps: (uiOptions: Record<string, unknown>) => Partial<SpreadableFromUiOptions>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TypeaheadProps } from '../../Typeahead/types';
|
|
2
|
+
/**
|
|
3
|
+
* Props that need special handling (computed from RJSF state) or are RJSF-controlled
|
|
4
|
+
* These are extracted explicitly and NOT spread
|
|
5
|
+
*/
|
|
6
|
+
export type SelectWidgetNonSpreadableProps = 'name' | 'onChange' | 'onClearAll' | 'onRemoveSelectedClick' | 'onEmptyChange' | 'selectedItems' | 'isMultiple' | 'isDisabled' | 'placeholder' | 'renderOption' | 'children';
|
|
7
|
+
/**
|
|
8
|
+
* Props that can be automatically spread from uiOptions
|
|
9
|
+
* New props added to TypeaheadProps will automatically be included here
|
|
10
|
+
*/
|
|
11
|
+
export type SelectWidgetSpreadableFromUiOptions = Omit<TypeaheadProps, SelectWidgetNonSpreadableProps>;
|
|
12
|
+
/**
|
|
13
|
+
* Extract props that can be spread automatically from uiOptions
|
|
14
|
+
* Filters out props that need special handling or are computed from RJSF state
|
|
15
|
+
*/
|
|
16
|
+
export declare const extractSelectWidgetSpreadableProps: (uiOptions: Record<string, unknown>) => Partial<SelectWidgetSpreadableFromUiOptions>;
|