pixelize-design-library 2.4.2-beta.37 → 2.4.2-beta.39
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/COMPONENT-GOTCHAS.md +834 -1
- package/dist/Components/Accordion/Accordion.d.ts +1 -0
- package/dist/Components/Accordion/Accordion.js +1 -0
- package/dist/Components/Accordion/AccordionProps.d.ts +2 -0
- package/dist/Components/AlertDialog/AlertDialog.d.ts +1 -0
- package/dist/Components/AlertDialog/AlertDialog.js +1 -0
- package/dist/Components/AlertDialog/AlertDialogProps.d.ts +2 -0
- package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +1 -0
- package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChartProps.d.ts +4 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +6 -0
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +8 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +6 -0
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarChartsProps.d.ts +3 -0
- package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +1 -0
- package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChartProps.d.ts +3 -0
- package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +6 -0
- package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +2 -0
- package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +3 -0
- package/dist/Components/Button/ButtonProps.d.ts +3 -0
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +7 -0
- package/dist/Components/Buttons/ButtonsProps.d.ts +2 -0
- package/dist/Components/Card/CardProps.d.ts +3 -0
- package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +6 -0
- package/dist/Components/Checkbox/Checkbox.d.ts +1 -0
- package/dist/Components/Checkbox/Checkbox.js +1 -0
- package/dist/Components/Checkbox/CheckboxProps.d.ts +4 -0
- package/dist/Components/Common/ErrorComponent.d.ts +2 -0
- package/dist/Components/Common/ErrorComponent.js +1 -0
- package/dist/Components/Common/FormLabel.d.ts +4 -0
- package/dist/Components/Common/FormLabel.js +1 -0
- package/dist/Components/Common/FormattedDescription.d.ts +2 -0
- package/dist/Components/Common/FormattedDescription.js +1 -0
- package/dist/Components/Common/HelperText.d.ts +2 -0
- package/dist/Components/Common/HelperText.js +2 -0
- package/dist/Components/Common/Label.d.ts +1 -0
- package/dist/Components/Common/Label.js +1 -0
- package/dist/Components/ContactForm/ContactForm.d.ts +1 -0
- package/dist/Components/ContactForm/ContactForm.js +1 -0
- package/dist/Components/ContactForm/ContactFormProps.d.ts +4 -0
- package/dist/Components/CopyButton/CopyButton.d.ts +3 -1
- package/dist/Components/CopyButton/CopyButton.js +1 -0
- package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +8 -0
- package/dist/Components/DatePicker/CalendarPanel.d.ts +1 -0
- package/dist/Components/DatePicker/CalendarPanel.js +1 -0
- package/dist/Components/DatePicker/DatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/DatePicker.js +1 -0
- package/dist/Components/DatePicker/DatePickerProps.d.ts +9 -0
- package/dist/Components/DatePicker/RangeDatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/RangeDatePicker.js +1 -0
- package/dist/Components/DatePicker/SingleDatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/SingleDatePicker.js +1 -0
- package/dist/Components/DatePicker/ThemeDatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/ThemeDatePicker.js +1 -0
- package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +1 -0
- package/dist/Components/DatePicker/TimeOnlyPicker.js +4 -1
- package/dist/Components/DatePicker/TimePicker.d.ts +1 -0
- package/dist/Components/DatePicker/TimePicker.js +1 -0
- package/dist/Components/DatePicker/TimePickerInput.d.ts +1 -0
- package/dist/Components/DatePicker/TimePickerInput.js +1 -0
- package/dist/Components/Divider/Divider.d.ts +1 -0
- package/dist/Components/Divider/Divider.js +1 -0
- package/dist/Components/Drawer/DrawerProps.d.ts +1 -0
- package/dist/Components/Dropdown/DropDown.d.ts +1 -0
- package/dist/Components/Dropdown/DropDown.js +1 -0
- package/dist/Components/Dropdown/DropdownProps.d.ts +3 -0
- package/dist/Components/Editor/Editor.d.ts +1 -0
- package/dist/Components/Editor/Editor.js +1 -0
- package/dist/Components/Editor/EditorProps.d.ts +2 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +1 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -5
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +4 -0
- package/dist/Components/EmptyState/EmptyState.d.ts +1 -0
- package/dist/Components/EmptyState/EmptyState.js +1 -0
- package/dist/Components/EmptyState/EmptyStateProps.d.ts +3 -0
- package/dist/Components/FeedbackForm/FeedbackForm.d.ts +3 -0
- package/dist/Components/FeedbackForm/FeedbackForm.js +1 -0
- package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts +3 -2
- package/dist/Components/FieldSelectModal/FieldSelectModal.js +1 -0
- package/dist/Components/FilePreview/FilePreview.d.ts +1 -0
- package/dist/Components/FilePreview/FilePreview.js +1 -0
- package/dist/Components/FilePreview/FilePreviewProps.d.ts +5 -2
- package/dist/Components/FileUpload/FileUpload.d.ts +1 -0
- package/dist/Components/FileUpload/FileUpload.js +1 -0
- package/dist/Components/FileUpload/FileUploadProps.d.ts +4 -0
- package/dist/Components/FileUploader/FileUploader.d.ts +1 -0
- package/dist/Components/FileUploader/FileUploader.js +1 -0
- package/dist/Components/FileUploader/FileUploaderProps.d.ts +2 -0
- package/dist/Components/FilterSidebar/FilterSidebar.d.ts +3 -0
- package/dist/Components/Form/FormWrapper.d.ts +3 -0
- package/dist/Components/Form/FormWrapper.js +2 -1
- package/dist/Components/Header/HeaderProps.d.ts +5 -0
- package/dist/Components/Input/Input/InputProps.d.ts +2 -0
- package/dist/Components/Input/PhoneNumberInput.d.ts +1 -0
- package/dist/Components/Input/PhoneNumberInput.js +1 -0
- package/dist/Components/Input/PhoneNumberInputProps.d.ts +3 -0
- package/dist/Components/Input/Switch/InputSwitch.d.ts +2 -0
- package/dist/Components/Input/Switch/InputSwitch.js +1 -0
- package/dist/Components/Input/TextInput.js +1 -0
- package/dist/Components/Input/TextInputProps.d.ts +2 -0
- package/dist/Components/InputTextArea/InputTextArea.d.ts +1 -0
- package/dist/Components/InputTextArea/InputTextArea.js +1 -0
- package/dist/Components/KanbanBoard/AccountCard.d.ts +3 -0
- package/dist/Components/KanbanBoard/AccountCard.js +1 -0
- package/dist/Components/KanbanBoard/AccountRow.d.ts +1 -0
- package/dist/Components/KanbanBoard/AccountRow.js +1 -0
- package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +2 -0
- package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +1 -0
- package/dist/Components/KanbanBoard/KanbanBoard.d.ts +1 -0
- package/dist/Components/KanbanBoard/KanbanBoard.js +1 -0
- package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +12 -11
- package/dist/Components/KanbanBoard/MeasuredItem.d.ts +1 -0
- package/dist/Components/KanbanBoard/MeasuredItem.js +1 -0
- package/dist/Components/LazyWrapper/LazyWrapper.d.ts +3 -2
- package/dist/Components/LazyWrapper/LazyWrapper.js +1 -0
- package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +4 -1
- package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +2 -0
- package/dist/Components/LimitReachedModal/limitReachedCopy.js +2 -0
- package/dist/Components/Loading/Loading.d.ts +1 -0
- package/dist/Components/Loading/Loading.js +1 -0
- package/dist/Components/Loading/LoadingProps.d.ts +2 -0
- package/dist/Components/Modal/ModalProps.d.ts +1 -0
- package/dist/Components/MoreItems/MoreItems.d.ts +1 -0
- package/dist/Components/MoreItems/MoreItems.js +1 -0
- package/dist/Components/MoreItems/MoreItemsProps.d.ts +4 -2
- package/dist/Components/MultiSelect/MultiSelectProps.d.ts +1 -0
- package/dist/Components/NavigationBar/NavigationBarProps.d.ts +3 -0
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts +1 -0
- package/dist/Components/NoteTextArea/NoteTextArea.js +1 -0
- package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +2 -0
- package/dist/Components/Notification/Notification.d.ts +1 -0
- package/dist/Components/Notification/Notification.js +1 -0
- package/dist/Components/Notification/NotificationProps.d.ts +6 -0
- package/dist/Components/NumberInput/NumberInput.d.ts +1 -0
- package/dist/Components/NumberInput/NumberInput.js +1 -0
- package/dist/Components/NumberInput/NumberInputProps.d.ts +3 -0
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +6 -1
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +10 -2
- package/dist/Components/PdfViewer/PdfViewer.d.ts +2 -1
- package/dist/Components/PdfViewer/PdfViewer.js +1 -0
- package/dist/Components/PinInput/PinInput.d.ts +1 -0
- package/dist/Components/PinInput/PinInput.js +1 -0
- package/dist/Components/PinInput/PinInputProps.d.ts +2 -0
- package/dist/Components/PinInputs/PinInputs.d.ts +1 -0
- package/dist/Components/PinInputs/PinInputs.js +1 -0
- package/dist/Components/PinInputs/PinInputsProps.d.ts +1 -0
- package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +2 -0
- package/dist/Components/PlanPill/PlanPillProps.d.ts +2 -0
- package/dist/Components/ProductCard/ProductCardProps.d.ts +10 -0
- package/dist/Components/ProductCard/ProductReview.d.ts +1 -0
- package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +7 -0
- package/dist/Components/ProfileCard/ProfileCardProps.d.ts +2 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +1 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +9 -1
- package/dist/Components/ProgressBar/ProgressBar.d.ts +1 -0
- package/dist/Components/ProgressBar/ProgressBar.js +1 -0
- package/dist/Components/ProgressBar/ProgressBarProps.d.ts +2 -0
- package/dist/Components/RadioButton/RadioButtonProps.d.ts +1 -0
- package/dist/Components/Reorder/Reorder.d.ts +2 -0
- package/dist/Components/Reorder/Reorder.js +1 -0
- package/dist/Components/Reorder/ReorderProps.d.ts +3 -0
- package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +10 -0
- package/dist/Components/ScrollToTop/ScrollToTop.d.ts +3 -2
- package/dist/Components/ScrollToTop/ScrollToTop.js +1 -0
- package/dist/Components/Search/Search.d.ts +1 -0
- package/dist/Components/Search/Search.js +1 -0
- package/dist/Components/Search/SearchProps.d.ts +2 -0
- package/dist/Components/SearchSelect/SearchSelect.d.ts +1 -0
- package/dist/Components/SearchSelect/SearchSelect.js +1 -0
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +5 -0
- package/dist/Components/SegmentedControl/SegmentedControl.d.ts +1 -0
- package/dist/Components/SegmentedControl/SegmentedControl.js +1 -0
- package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +4 -0
- package/dist/Components/Select/SelectProps.d.ts +2 -0
- package/dist/Components/SelectSearch/SelectSearch.d.ts +1 -0
- package/dist/Components/SelectSearch/SelectSearch.js +1 -0
- package/dist/Components/SelectSearch/SelectSearchProps.d.ts +5 -0
- package/dist/Components/SelectV2/SelectV2.d.ts +1 -0
- package/dist/Components/SelectV2/SelectV2.js +1 -0
- package/dist/Components/SelectV2/SelectV2Props.d.ts +6 -1
- package/dist/Components/SideBar/SideBarProps.d.ts +9 -0
- package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +3 -0
- package/dist/Components/Skeletons/SkeletonProps.d.ts +2 -0
- package/dist/Components/Skeletons/Skeletons.d.ts +1 -0
- package/dist/Components/Skeletons/Skeletons.js +1 -0
- package/dist/Components/Slider/Slider.d.ts +3 -0
- package/dist/Components/Slider/Slider.js +1 -0
- package/dist/Components/StageProgress/StageItem.d.ts +1 -0
- package/dist/Components/StageProgress/StageItem.js +1 -0
- package/dist/Components/StageProgress/StageProgress.d.ts +1 -0
- package/dist/Components/StageProgress/StageProgress.js +1 -0
- package/dist/Components/StageProgress/StageProgressProps.d.ts +12 -4
- package/dist/Components/Switch/Switch.d.ts +1 -0
- package/dist/Components/Switch/Switch.js +1 -0
- package/dist/Components/Switch/SwitchProps.d.ts +1 -0
- package/dist/Components/Table/TableProps.d.ts +13 -0
- package/dist/Components/Table/filters/CompactSelect.d.ts +1 -0
- package/dist/Components/Table/filters/LeftFilterPane.d.ts +9 -1
- package/dist/Components/Tag/Tag.d.ts +1 -0
- package/dist/Components/Tag/Tag.js +1 -0
- package/dist/Components/Tag/TagProps.d.ts +7 -0
- package/dist/Components/Timeline/Timeline.d.ts +1 -0
- package/dist/Components/Timeline/Timeline.js +1 -0
- package/dist/Components/Timeline/TimelineProps.d.ts +8 -0
- package/dist/Components/Toaster/Toaster.d.ts +1 -0
- package/dist/Components/Toaster/Toaster.js +1 -0
- package/dist/Components/Toaster/ToasterProps.d.ts +3 -0
- package/dist/Components/Toggle/TableToggle.d.ts +1 -0
- package/dist/Components/Toggle/TableToggle.js +1 -0
- package/dist/Components/Toggle/TableToggleProps.d.ts +3 -0
- package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +1 -0
- package/dist/Components/ToggleSwitch/ToggleSwitch.js +1 -0
- package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +2 -0
- package/dist/Components/ToolTip/ToolTip.d.ts +1 -0
- package/dist/Components/ToolTip/ToolTip.js +1 -0
- package/dist/Components/ToolTip/ToolTipProps.d.ts +2 -0
- package/dist/Components/Trail/EditableCell.d.ts +2 -0
- package/dist/Components/Trail/EditableCell.js +1 -0
- package/dist/Components/Trail/SelectAllCheckbox.d.ts +1 -0
- package/dist/Components/Trail/SelectAllCheckbox.js +1 -0
- package/dist/Components/Trail/TrailWorks.d.ts +1 -0
- package/dist/Components/Trail/TrailWorks.js +1 -0
- package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +6 -2
- package/dist/Components/UserDetails/UserDetailsProps.d.ts +17 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +6 -1
- package/dist/esm/Components/Accordion/Accordion.js +1 -0
- package/dist/esm/Components/AlertDialog/AlertDialog.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +1 -0
- package/dist/esm/Components/Checkbox/Checkbox.js +1 -0
- package/dist/esm/Components/Common/ErrorComponent.js +1 -0
- package/dist/esm/Components/Common/FormLabel.js +1 -0
- package/dist/esm/Components/Common/FormattedDescription.js +1 -0
- package/dist/esm/Components/Common/HelperText.js +2 -0
- package/dist/esm/Components/Common/Label.js +1 -0
- package/dist/esm/Components/ContactForm/ContactForm.js +1 -0
- package/dist/esm/Components/CopyButton/CopyButton.js +1 -0
- package/dist/esm/Components/DatePicker/CalendarPanel.js +1 -0
- package/dist/esm/Components/DatePicker/DatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/RangeDatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/SingleDatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/ThemeDatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +4 -1
- package/dist/esm/Components/DatePicker/TimePicker.js +1 -0
- package/dist/esm/Components/DatePicker/TimePickerInput.js +1 -0
- package/dist/esm/Components/Divider/Divider.js +1 -0
- package/dist/esm/Components/Dropdown/DropDown.js +1 -0
- package/dist/esm/Components/Editor/Editor.js +1 -0
- package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -5
- package/dist/esm/Components/EmptyState/EmptyState.js +1 -0
- package/dist/esm/Components/FeedbackForm/FeedbackForm.js +1 -0
- package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +1 -0
- package/dist/esm/Components/FilePreview/FilePreview.js +1 -0
- package/dist/esm/Components/FileUpload/FileUpload.js +1 -0
- package/dist/esm/Components/FileUploader/FileUploader.js +1 -0
- package/dist/esm/Components/Form/FormWrapper.js +2 -1
- package/dist/esm/Components/Input/PhoneNumberInput.js +1 -0
- package/dist/esm/Components/Input/Switch/InputSwitch.js +1 -0
- package/dist/esm/Components/Input/TextInput.js +1 -0
- package/dist/esm/Components/InputTextArea/InputTextArea.js +1 -0
- package/dist/esm/Components/KanbanBoard/AccountCard.js +1 -0
- package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -0
- package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +1 -0
- package/dist/esm/Components/KanbanBoard/KanbanBoard.js +1 -0
- package/dist/esm/Components/KanbanBoard/MeasuredItem.js +1 -0
- package/dist/esm/Components/LazyWrapper/LazyWrapper.js +1 -0
- package/dist/esm/Components/LimitReachedModal/limitReachedCopy.js +2 -0
- package/dist/esm/Components/Loading/Loading.js +1 -0
- package/dist/esm/Components/MoreItems/MoreItems.js +1 -0
- package/dist/esm/Components/NoteTextArea/NoteTextArea.js +1 -0
- package/dist/esm/Components/Notification/Notification.js +1 -0
- package/dist/esm/Components/NumberInput/NumberInput.js +1 -0
- package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
- package/dist/esm/Components/PdfViewer/PdfViewer.js +1 -0
- package/dist/esm/Components/PinInput/PinInput.js +1 -0
- package/dist/esm/Components/PinInputs/PinInputs.js +1 -0
- package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +1 -0
- package/dist/esm/Components/ProgressBar/ProgressBar.js +1 -0
- package/dist/esm/Components/Reorder/Reorder.js +1 -0
- package/dist/esm/Components/ScrollToTop/ScrollToTop.js +1 -0
- package/dist/esm/Components/Search/Search.js +1 -0
- package/dist/esm/Components/SearchSelect/SearchSelect.js +1 -0
- package/dist/esm/Components/SegmentedControl/SegmentedControl.js +1 -0
- package/dist/esm/Components/SelectSearch/SelectSearch.js +1 -0
- package/dist/esm/Components/SelectV2/SelectV2.js +1 -0
- package/dist/esm/Components/Skeletons/Skeletons.js +1 -0
- package/dist/esm/Components/Slider/Slider.js +1 -0
- package/dist/esm/Components/StageProgress/StageItem.js +1 -0
- package/dist/esm/Components/StageProgress/StageProgress.js +1 -0
- package/dist/esm/Components/Switch/Switch.js +1 -0
- package/dist/esm/Components/Tag/Tag.js +1 -0
- package/dist/esm/Components/Timeline/Timeline.js +1 -0
- package/dist/esm/Components/Toaster/Toaster.js +1 -0
- package/dist/esm/Components/Toggle/TableToggle.js +1 -0
- package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +1 -0
- package/dist/esm/Components/ToolTip/ToolTip.js +1 -0
- package/dist/esm/Components/Trail/EditableCell.js +1 -0
- package/dist/esm/Components/Trail/SelectAllCheckbox.js +1 -0
- package/dist/esm/Components/Trail/TrailWorks.js +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -3
- package/package.json +2 -1
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { SegmentedControlProps } from "./SegmentedControlProps";
|
|
2
|
+
/** Renders role="radiogroup" of role="radio" buttons with roving tabindex, not a native form radio group; shares variant with Toggle/TableToggle (see MODULE.md). */
|
|
2
3
|
export default function SegmentedControl<T extends string = string>({ options, value, onChange, size, isFullWidth, variant, "aria-label": ariaLabel, }: SegmentedControlProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,6 +10,7 @@ const SIZES = {
|
|
|
10
10
|
sm: { h: "1.625rem", px: "0.625rem", fontSize: "0.75rem" },
|
|
11
11
|
md: { h: "2rem", px: "0.875rem", fontSize: "0.8125rem" },
|
|
12
12
|
};
|
|
13
|
+
/** Renders role="radiogroup" of role="radio" buttons with roving tabindex, not a native form radio group; shares variant with Toggle/TableToggle (see MODULE.md). */
|
|
13
14
|
function SegmentedControl({ options, value, onChange, size = "md", isFullWidth = false, variant = "default", "aria-label": ariaLabel, }) {
|
|
14
15
|
const { colors } = (0, useCustomTheme_1.useCustomTheme)();
|
|
15
16
|
const dims = SIZES[size];
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
/** Only two sizes; controls track height and font size — defaults to "md". */
|
|
1
2
|
export type SegmentedControlSize = "sm" | "md";
|
|
3
|
+
/** brandSlide = primary view switcher; underlineSlide = dense toolbar; default = plain buttons. */
|
|
2
4
|
export type SegmentedControlVariant = "default" | "brandSlide" | "underlineSlide";
|
|
5
|
+
/** One selectable segment; disabled options are skipped by keyboard nav (arrows/Home/End). */
|
|
3
6
|
export type SegmentedControlOption<T extends string = string> = {
|
|
4
7
|
value: T;
|
|
5
8
|
label: string;
|
|
6
9
|
icon?: JSX.Element;
|
|
7
10
|
isDisabled?: boolean;
|
|
8
11
|
};
|
|
12
|
+
/** Props for SegmentedControl; T narrows options/value/onChange to the caller's literal union. */
|
|
9
13
|
export type SegmentedControlProps<T extends string = string> = {
|
|
10
14
|
/** Two to five mutually exclusive options. Beyond five, use a Select. */
|
|
11
15
|
options: SegmentedControlOption<T>[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SelectProps } from "@chakra-ui/react";
|
|
2
|
+
/** Props for `Select`; named lowercase to avoid clashing with Chakra's own imported `SelectProps`. */
|
|
2
3
|
export type chakraSelectProps = Pick<SelectProps, "placeholder" | "size" | "variant" | "icon" | "bg" | "borderColor" | "color" | "onBlur" | "onFocus" | "errorBorderColor" | "isDisabled" | "isReadOnly" | "isRequired" | "value" | "colorScheme"> & {
|
|
3
4
|
label?: string;
|
|
4
5
|
id?: string;
|
|
@@ -17,6 +18,7 @@ export type chakraSelectProps = Pick<SelectProps, "placeholder" | "size" | "vari
|
|
|
17
18
|
informationMessage?: string;
|
|
18
19
|
selectStyle?: React.CSSProperties;
|
|
19
20
|
};
|
|
21
|
+
/** Single Select option: id/label pair used in `options` and passed back via `onChange`. */
|
|
20
22
|
export type OptionProp = {
|
|
21
23
|
id: string | number;
|
|
22
24
|
label: string | number;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { SelectSearchProps } from "./SelectSearchProps";
|
|
2
|
+
/** Search-as-you-type combobox with avatar/color/email rows — Enter only picks on an exact label match, not the highlighted option. */
|
|
2
3
|
export default function SelectSearch({ options, initialSelectedOption, onOptionSelect, inputOnchange, id, name, label, inputStyle, isOptionLoading, loadingText, boxStyle, placeholder, searchQuery, isInformation, informationMessage, rightIcon, rightElementStyle, isMultipleSelect, isRequired, onOptionMultiSelect, error, isProfile, isBottomIcon, errorMessage, BottomIcon, BottomText, handleBottomClick, BottomTextColor, isColorOptions, }: Readonly<SelectSearchProps>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -45,6 +45,7 @@ const RenderOptions = ({ isOptionLoading, filteredOptions, loadingText, handleOp
|
|
|
45
45
|
}
|
|
46
46
|
return ((0, jsx_runtime_1.jsx)(react_2.Text, { px: 4, py: 2, color: theme.colors.textMuted, children: "No options found" }));
|
|
47
47
|
};
|
|
48
|
+
/** Search-as-you-type combobox with avatar/color/email rows — Enter only picks on an exact label match, not the highlighted option. */
|
|
48
49
|
function SelectSearch({ options, initialSelectedOption, onOptionSelect, inputOnchange, id, name, label, inputStyle, isOptionLoading, loadingText = "loading", boxStyle, placeholder = "Select Option", searchQuery = null, isInformation = false, informationMessage, rightIcon, rightElementStyle, isMultipleSelect = false, isRequired = false, onOptionMultiSelect, error = false, isProfile = false, isBottomIcon = false, errorMessage,
|
|
49
50
|
// BottomIconStyle,
|
|
50
51
|
BottomIcon = false, BottomText, handleBottomClick, BottomTextColor, isColorOptions, }) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
/** Props for the searchable combobox `SelectSearch`; supports multi-select chips and profile/color option rows. */
|
|
1
2
|
export type SelectSearchProps = {
|
|
2
3
|
options: selectOptions[];
|
|
4
|
+
/** Not implemented — never read by the component; the search input always renders regardless of this value. */
|
|
3
5
|
isSearchEnabled?: boolean;
|
|
6
|
+
/** Seeds state once on mount (useState initializer) — changing it later does not update the selection; no sync effect. */
|
|
4
7
|
initialSelectedOption?: selectOptions | null;
|
|
5
8
|
onOptionSelect?: (option: selectOptions) => void;
|
|
6
9
|
onOptionMultiSelect?: (option: selectOptions[]) => void;
|
|
@@ -28,9 +31,11 @@ export type SelectSearchProps = {
|
|
|
28
31
|
BottomIcon?: boolean | undefined | JSX.Element;
|
|
29
32
|
BottomIconStyle?: React.CSSProperties;
|
|
30
33
|
BottomText?: string | number;
|
|
34
|
+
/** Despite the CSSProperties type, pass a plain color string (e.g. "red") — used directly as one, not spread as styles. */
|
|
31
35
|
BottomTextColor?: React.CSSProperties;
|
|
32
36
|
handleBottomClick?: () => void;
|
|
33
37
|
};
|
|
38
|
+
/** Option shape for SelectSearch; `email`/`profileUrl` back `isProfile` rows, `color` backs `isColorOptions` rows. */
|
|
34
39
|
export type selectOptions = {
|
|
35
40
|
id: string;
|
|
36
41
|
label: string;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { SelectV2Props } from "./SelectV2Props";
|
|
2
|
+
/** Themed custom-popup select (fully React-rendered popup); not virtualized — for very large option lists, prefer SearchSelect. */
|
|
2
3
|
export default function SelectV2(props: SelectV2Props): import("react/jsx-runtime").JSX.Element;
|
|
@@ -70,6 +70,7 @@ const OptionRow = react_1.default.memo(function OptionRow({ option, index, listb
|
|
|
70
70
|
? backgrounds.active
|
|
71
71
|
: "transparent", transition: "background 0.12s ease, color 0.12s ease", children: [isMulti ? ((0, jsx_runtime_1.jsx)(react_2.Checkbox, { isChecked: isSelected, isDisabled: option.isDisabled, pointerEvents: "none", tabIndex: -1 })) : null, renderOption ? ((0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, minW: 0, children: renderOption(option, { isSelected, isActive }) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [option.icon ? ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", display: "inline-flex", flexShrink: 0, children: option.icon })) : null, (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, minW: 0, isTruncated: true, children: [(0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", isTruncated: true, children: option.label }), option.description ? ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", display: "block", fontSize: "0.75rem", fontWeight: 400, color: theme.colors.textMuted, isTruncated: true, children: option.description })) : null] })] }))] }));
|
|
72
72
|
});
|
|
73
|
+
/** Themed custom-popup select (fully React-rendered popup); not virtualized — for very large option lists, prefer SearchSelect. */
|
|
73
74
|
function SelectV2(props) {
|
|
74
75
|
var _a, _b;
|
|
75
76
|
const { options = [], placeholder = "Select Option", label, error = false, errorMessage, helperText, isDisabled = false, isRequired = false, size = "md", isSearchable = true, width, formControlStyle, onBlur, onFocus, renderOption, renderValue, maxMenuHeight = "16rem", defaultOpen = false, "data-testid": dataTestId, "aria-label": ariaLabel, } = props;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
+
/** SelectV2 option shape; adds optional `icon`/`description`/`isDisabled` beyond the plain id/label pair. */
|
|
2
3
|
export type OptionProp = {
|
|
3
4
|
id: string | number;
|
|
4
5
|
label: string | number;
|
|
5
6
|
/** Optional leading icon/avatar for this option's row (and the trigger, when selected). */
|
|
6
7
|
icon?: ReactNode;
|
|
7
|
-
/** Optional secondary line under the label (e.g. an email under a name). */
|
|
8
|
+
/** Optional secondary line under the label (e.g. an email under a name); not matched by the search filter. */
|
|
8
9
|
description?: string;
|
|
9
10
|
isDisabled?: boolean;
|
|
10
11
|
};
|
|
12
|
+
/** Trigger size keys; SelectV2's internal `SIZE_MAP` maps each to a height/fontSize/padding set. */
|
|
11
13
|
export type SelectV2Size = "sm" | "md" | "lg";
|
|
12
14
|
type SelectV2CommonProps = {
|
|
13
15
|
options: OptionProp[];
|
|
@@ -50,11 +52,13 @@ type SelectV2CommonProps = {
|
|
|
50
52
|
*/
|
|
51
53
|
defaultOpen?: boolean;
|
|
52
54
|
};
|
|
55
|
+
/** Single-select arm of `SelectV2Props`; `isMulti` false/absent discriminates it from the multi variant. */
|
|
53
56
|
export type SelectV2SingleProps = SelectV2CommonProps & {
|
|
54
57
|
isMulti?: false;
|
|
55
58
|
value?: string | number;
|
|
56
59
|
onChange: (selectedOption: OptionProp | undefined) => void;
|
|
57
60
|
};
|
|
61
|
+
/** Multi-select arm of `SelectV2Props`; `isMulti: true` discriminates it and makes `value` an array. */
|
|
58
62
|
export type SelectV2MultiProps = SelectV2CommonProps & {
|
|
59
63
|
isMulti: true;
|
|
60
64
|
value?: (string | number)[];
|
|
@@ -62,5 +66,6 @@ export type SelectV2MultiProps = SelectV2CommonProps & {
|
|
|
62
66
|
/** Show "N selected" once more than this many are chosen, instead of listing every label. Defaults to 2. */
|
|
63
67
|
maxLabelsBeforeSummary?: number;
|
|
64
68
|
};
|
|
69
|
+
/** Props for `SelectV2`; a discriminated union on `isMulti` between the single and multi variants. */
|
|
65
70
|
export type SelectV2Props = SelectV2SingleProps | SelectV2MultiProps;
|
|
66
71
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ElementType } from "react";
|
|
2
|
+
/** Footer identity block (UserFooter); avatar falls back to initials derived from name when absent. */
|
|
2
3
|
export type SidebarUser = {
|
|
3
4
|
name: string;
|
|
4
5
|
role?: string;
|
|
@@ -6,8 +7,10 @@ export type SidebarUser = {
|
|
|
6
7
|
initials?: string;
|
|
7
8
|
onClick?: () => void;
|
|
8
9
|
};
|
|
10
|
+
/** Docked/collapsible left rail with its own responsive overlay — not NavigationBar (top bar) or WorkspaceWindow (floating panel). */
|
|
9
11
|
export type SidebarProps = {
|
|
10
12
|
menus: MenuProps[];
|
|
13
|
+
/** Matched against each menu's `title` first, then `id` — a title that collides with another menu's `id` wins silently. */
|
|
11
14
|
activeMenu: string | number;
|
|
12
15
|
handleMenuClick?: (menu: MenuProps) => void;
|
|
13
16
|
handleSecondaryNavClick?: (menu: MenuProps) => void;
|
|
@@ -23,6 +26,7 @@ export type SidebarProps = {
|
|
|
23
26
|
selectedSecondaryItem?: string | number | null;
|
|
24
27
|
isLoading?: boolean;
|
|
25
28
|
loadingLines?: number;
|
|
29
|
+
/** Not a direct render switch — on change it calls `changeToggle()` once; nothing collapses unless that updates `toggle`. */
|
|
26
30
|
open?: boolean;
|
|
27
31
|
otherApps?: OtherAppsProps['otherApps'];
|
|
28
32
|
/**
|
|
@@ -57,6 +61,7 @@ export type SidebarProps = {
|
|
|
57
61
|
peekOpen?: boolean;
|
|
58
62
|
onPeekEnd?: () => void;
|
|
59
63
|
};
|
|
64
|
+
/** One nav item; `subMenu` renders inline (expand/collapse), `secondaryItems` opens a separate SecondaryBar instead. */
|
|
60
65
|
export type MenuProps = {
|
|
61
66
|
id: string | number;
|
|
62
67
|
title: string;
|
|
@@ -71,9 +76,11 @@ export type MenuProps = {
|
|
|
71
76
|
variant?: string;
|
|
72
77
|
};
|
|
73
78
|
subMenu?: MenuProps[];
|
|
79
|
+
/** Non-empty on the active menu auto-collapses the main rail and renders a SecondaryBar, regardless of the `toggle` prop. */
|
|
74
80
|
secondaryItems?: MenuProps[];
|
|
75
81
|
group?: string;
|
|
76
82
|
};
|
|
83
|
+
/** Props for the internal MenuItems renderer — a narrowed slice of SidebarProps. */
|
|
77
84
|
export type RenderMenuType = {
|
|
78
85
|
menus: MenuProps[];
|
|
79
86
|
activeMenu: string | number;
|
|
@@ -82,6 +89,7 @@ export type RenderMenuType = {
|
|
|
82
89
|
selectedSubMenu?: string | null;
|
|
83
90
|
selectedSecondaryItem?: string | number | null;
|
|
84
91
|
};
|
|
92
|
+
/** Secondary flyout panel props; `defaultCollapsed` only seeds initial state, then the panel self-manages it. */
|
|
85
93
|
export type SecondaryBarProps = {
|
|
86
94
|
items?: MenuProps[];
|
|
87
95
|
defaultCollapsed?: boolean;
|
|
@@ -94,6 +102,7 @@ export type SecondaryBarProps = {
|
|
|
94
102
|
title?: string;
|
|
95
103
|
icon?: ElementType;
|
|
96
104
|
};
|
|
105
|
+
/** "Switch app" footer grid; becomes hover popovers when the sidebar is collapsed. */
|
|
97
106
|
export type OtherAppsProps = {
|
|
98
107
|
toggle: boolean;
|
|
99
108
|
otherApps: {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/** One row of sign-in device history rendered by SignInActivityTable. */
|
|
1
2
|
export type SignInDevice = {
|
|
3
|
+
/** Falls back to "—" when falsy; device and activity below don't — a blank one renders as an empty cell, not a dash. */
|
|
2
4
|
browser: string;
|
|
3
5
|
device: string;
|
|
4
6
|
activity: string;
|
|
@@ -14,6 +16,7 @@ export type SignInActivityLabels = {
|
|
|
14
16
|
recentActivity?: string;
|
|
15
17
|
noActivity?: string;
|
|
16
18
|
};
|
|
19
|
+
/** Read-only 3-column device list (browser, device, activity) on raw Chakra table parts, not the library Table — no row actions, closed props, no ref/...rest passthrough. */
|
|
17
20
|
export interface SignInActivityTableProps {
|
|
18
21
|
devices: SignInDevice[];
|
|
19
22
|
isLoading?: boolean;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { SkeletonProps as ChakraSkeleton, SkeletonTextProps } from "@chakra-ui/react";
|
|
2
|
+
/** Closed prop list, no ...rest, no borderRadius/margin — for those or a ref use Chakra's Skeleton (Primitives barrel) instead. */
|
|
2
3
|
export type SkeletonProps = Pick<ChakraSkeleton, "startColor" | "endColor" | "height" | "isLoaded" | "bg" | "color" | "fadeDuration" | "children" | "speed" | "size" | "mt" | "noOfLines" | "width"> & {
|
|
4
|
+
/** isLoaded, children, bg, color, fadeDuration only apply to type="skeleton" — circle/text accept but silently ignore them. */
|
|
3
5
|
type: "skeleton" | "circle" | "text";
|
|
4
6
|
} & Partial<Pick<SkeletonTextProps, "spacing" | "skeletonHeight">>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { SkeletonProps } from "./SkeletonProps";
|
|
2
|
+
/** Renders exactly one of Skeleton/SkeletonCircle/SkeletonText per `type` — not a layout wrapper combining all three. */
|
|
2
3
|
export default function Skeletons({ startColor, endColor, height, isLoaded, bg, color, fadeDuration, children, type, speed, size, mt, noOfLines, spacing, skeletonHeight, width, }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = Skeletons;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("@chakra-ui/react");
|
|
6
|
+
/** Renders exactly one of Skeleton/SkeletonCircle/SkeletonText per `type` — not a layout wrapper combining all three. */
|
|
6
7
|
function Skeletons({ startColor, endColor, height = "20px", isLoaded, bg, color, fadeDuration, children, type, speed, size, mt, noOfLines, spacing, skeletonHeight, width, }) {
|
|
7
8
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [type === "skeleton" && ((0, jsx_runtime_1.jsx)(react_1.Skeleton, { height: height, isLoaded: isLoaded, bg: bg, color: color, fadeDuration: fadeDuration, startColor: startColor, endColor: endColor, speed: speed, width: width, children: children })), type === "circle" && (0, jsx_runtime_1.jsx)(react_1.SkeletonCircle, { size: size, speed: speed }), type === "text" && ((0, jsx_runtime_1.jsx)(react_1.SkeletonText, { mt: mt, noOfLines: noOfLines, spacing: spacing, skeletonHeight: skeletonHeight }))] }));
|
|
8
9
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
type ImageSliderProps = {
|
|
3
3
|
images: SliderImage[];
|
|
4
|
+
/** interval <= 0 disables auto-advance entirely (no timer set) — it does not mean "no delay"/immediate. */
|
|
4
5
|
interval?: number;
|
|
5
6
|
isArrow?: boolean;
|
|
6
7
|
mobileImages?: SliderImage[];
|
|
@@ -11,7 +12,9 @@ type SliderImage = {
|
|
|
11
12
|
previewUrl: string;
|
|
12
13
|
/** Optional URL used on small viewports when provided via `mobileImages`. */
|
|
13
14
|
mobilePreviewUrl?: string;
|
|
15
|
+
/** Sorts the main track, but pagination dots follow the array's original order — pass images pre-sorted by order to keep dots in sync. */
|
|
14
16
|
order: number;
|
|
15
17
|
};
|
|
18
|
+
/** Auto-advancing image/content carousel — NOT a numeric range input; for that use Chakra's Slider via the Primitives barrel (exported as RangeSlider). */
|
|
16
19
|
declare const Slider: React.FC<ImageSliderProps>;
|
|
17
20
|
export default Slider;
|
|
@@ -7,6 +7,7 @@ const lucide_react_1 = require("lucide-react");
|
|
|
7
7
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
8
8
|
const accentText_1 = require("../../Theme/tokens/builders/accentText");
|
|
9
9
|
const outlineRung_1 = require("../../Theme/tokens/builders/outlineRung");
|
|
10
|
+
/** Auto-advancing image/content carousel — NOT a numeric range input; for that use Chakra's Slider via the Primitives barrel (exported as RangeSlider). */
|
|
10
11
|
const Slider = ({ images, interval = 5000, isArrow = false, mobileImages, }) => {
|
|
11
12
|
var _a, _b;
|
|
12
13
|
const { colors } = (0, useCustomTheme_1.useCustomTheme)();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { StageItemProps } from "./StageProgressProps";
|
|
3
|
+
/** Renders one chevron/bar/pill stage — for variant="stepper", StageProgress renders StepperStage internally instead. */
|
|
3
4
|
declare const StageItem: React.FC<StageItemProps>;
|
|
4
5
|
export default StageItem;
|
|
@@ -26,6 +26,7 @@ const clipFor = (index, total, a) => {
|
|
|
26
26
|
return `polygon(0 0, 100% 0, 100% 100%, 0 100%, ${a}px 50%)`;
|
|
27
27
|
return `polygon(0 0, calc(100% - ${a}px) 0, 100% 50%, calc(100% - ${a}px) 100%, 0 100%, ${a}px 50%)`;
|
|
28
28
|
};
|
|
29
|
+
/** Renders one chevron/bar/pill stage — for variant="stepper", StageProgress renders StepperStage internally instead. */
|
|
29
30
|
const StageItem = ({ label, index, total, state, variant = "chevron", size = "md", colorScheme = "primary", onClick, isReadOnly = false, disabled = false, showCheck = false, minWidth, scrollIntoViewWhenActive = true, tooltipThreshold = 20, }) => {
|
|
30
31
|
var _a;
|
|
31
32
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { StageProgressProps } from "./StageProgressProps";
|
|
3
|
+
/** Multi-stage pipeline tracker (chevron/bar/pills/stepper) — stepper ignores tooltipThreshold and minStageWidth. */
|
|
3
4
|
declare const StageProgress: React.FC<StageProgressProps>;
|
|
4
5
|
export default StageProgress;
|
|
@@ -16,6 +16,7 @@ const gapFor = {
|
|
|
16
16
|
pills: "8px",
|
|
17
17
|
stepper: "0",
|
|
18
18
|
};
|
|
19
|
+
/** Multi-stage pipeline tracker (chevron/bar/pills/stepper) — stepper ignores tooltipThreshold and minStageWidth. */
|
|
19
20
|
const StageProgress = ({ stages, variant = "chevron", value, onChange, size = "md", colorScheme = "primary", markCompleted = true, showCheck = false, isReadOnly = false, isLoading = false, minStageWidth, scrollActiveIntoView = true, tooltipThreshold = 20, }) => {
|
|
20
21
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
21
22
|
if (isLoading) {
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
import { CustomThemeProps } from "../../Theme/themeProps";
|
|
2
|
+
/** Size preset keying each renderer's own pixel/spacing lookup table. */
|
|
2
3
|
export type StageSize = "sm" | "md" | "lg";
|
|
4
|
+
/** Palette key: brand colors resolve direct, others (success/error/warning/info) via theme.colors.semantic. */
|
|
3
5
|
export type StageColorScheme = "primary" | "secondary" | "tertiary" | "success" | "error" | "warning" | "info";
|
|
6
|
+
/** Per-stage render state; StageProgress derives it from index vs. the active stage. */
|
|
4
7
|
export type StageState = "completed" | "active" | "upcoming";
|
|
5
8
|
/** Visual style of the tracker. */
|
|
6
9
|
export type StageVariant = "chevron" | "bar" | "pills" | "stepper";
|
|
10
|
+
/** One entry in StageProgressProps.stages — the ordered pipeline this tracker renders. */
|
|
7
11
|
export interface Stage {
|
|
8
12
|
id: string | number;
|
|
9
13
|
label: string;
|
|
10
14
|
/** Disable selecting this stage individually. */
|
|
11
15
|
disabled?: boolean;
|
|
12
16
|
}
|
|
17
|
+
/** Top-level props for StageProgress; per-item rendering is delegated to StageItemProps/StepperStageProps. */
|
|
13
18
|
export interface StageProgressProps {
|
|
14
19
|
/** Ordered list of pipeline stages. */
|
|
15
20
|
stages: Stage[];
|
|
16
21
|
/** Visual style. Default "chevron". */
|
|
17
22
|
variant?: StageVariant;
|
|
18
|
-
/** id
|
|
23
|
+
/** Must exactly match a stage.id — no match silently renders every stage as "upcoming" (nothing active). */
|
|
19
24
|
value?: string | number;
|
|
20
|
-
/**
|
|
25
|
+
/** Skipped when isReadOnly, or when that specific stage's own `disabled` is true. */
|
|
21
26
|
onChange?: (id: string | number, stage: Stage, index: number) => void;
|
|
22
27
|
size?: StageSize;
|
|
23
28
|
colorScheme?: StageColorScheme;
|
|
@@ -29,13 +34,14 @@ export interface StageProgressProps {
|
|
|
29
34
|
isReadOnly?: boolean;
|
|
30
35
|
/** Show the loading skeleton row instead of stages. */
|
|
31
36
|
isLoading?: boolean;
|
|
32
|
-
/**
|
|
37
|
+
/** Ignored for variant="stepper" (fixed per-size circle width there) — applies to chevron/bar/pills only. */
|
|
33
38
|
minStageWidth?: string;
|
|
34
39
|
/** Auto-scroll the active stage into view. Default true. */
|
|
35
40
|
scrollActiveIntoView?: boolean;
|
|
36
|
-
/**
|
|
41
|
+
/** Also only applies to chevron/bar/pills — variant="stepper" never shows a tooltip, however long the label. */
|
|
37
42
|
tooltipThreshold?: number;
|
|
38
43
|
}
|
|
44
|
+
/** Props for one chevron/bar/pills stage; variant="stepper" renders StepperStage/StepperStageProps instead. */
|
|
39
45
|
export interface StageItemProps {
|
|
40
46
|
label: string;
|
|
41
47
|
index: number;
|
|
@@ -53,6 +59,7 @@ export interface StageItemProps {
|
|
|
53
59
|
scrollIntoViewWhenActive?: boolean;
|
|
54
60
|
tooltipThreshold?: number;
|
|
55
61
|
}
|
|
62
|
+
/** Props for one stepper-variant node; leftDone/rightDone fill the connector line per side. */
|
|
56
63
|
export interface StepperStageProps {
|
|
57
64
|
label: string;
|
|
58
65
|
/** 1-based step number shown inside the circle. */
|
|
@@ -72,6 +79,7 @@ export interface StepperStageProps {
|
|
|
72
79
|
rightDone: boolean;
|
|
73
80
|
scrollIntoViewWhenActive?: boolean;
|
|
74
81
|
}
|
|
82
|
+
/** Color set for one scheme's states, returned by resolveStagePalette (soft/strong/muted + text). */
|
|
75
83
|
export interface StagePalette {
|
|
76
84
|
soft: string;
|
|
77
85
|
softText: string;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { SwitchProps } from "./SwitchProps";
|
|
2
|
+
/** Renders as clickable <li> items with no role or keyboard handling — mouse-only; not an accessible substitute for ToggleSwitch or SegmentedControl. */
|
|
2
3
|
export default function Switch({ leftText, rightText, leftIcon, rightIcon, onSwitchToggle, switchActive, }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,6 +4,7 @@ exports.default = Switch;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("@chakra-ui/react");
|
|
6
6
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
7
|
+
/** Renders as clickable <li> items with no role or keyboard handling — mouse-only; not an accessible substitute for ToggleSwitch or SegmentedControl. */
|
|
7
8
|
function Switch({ leftText, rightText, leftIcon, rightIcon, onSwitchToggle, switchActive, }) {
|
|
8
9
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
9
10
|
// Read the palette directly: it is already swapped for the active mode, so pairing the rungs
|
|
@@ -6,12 +6,15 @@ export type { FilterValues } from "./filterTypes";
|
|
|
6
6
|
export type { TableVariant, TableVariantTokens } from "./variants/tokens";
|
|
7
7
|
/** Dynamic row shape (cells, styles, callbacks). */
|
|
8
8
|
export type DataObject = Record<string, unknown>;
|
|
9
|
+
/** Row-height preset controlling row height and cell vertical padding. */
|
|
9
10
|
export type TableDensity = "compact" | "normal" | "comfortable";
|
|
11
|
+
/** Empty-state content shown when there are no rows; alternative to a raw ReactNode. */
|
|
10
12
|
export type TableEmptyState = {
|
|
11
13
|
icon?: ReactNode;
|
|
12
14
|
title?: string;
|
|
13
15
|
description?: string;
|
|
14
16
|
};
|
|
17
|
+
/** Props for the main Table component: data, columns, pagination, selection, filters, and more. */
|
|
15
18
|
export type TableProps = {
|
|
16
19
|
data: DataObject[];
|
|
17
20
|
columns: TableHeaderProps[];
|
|
@@ -86,6 +89,7 @@ export type TableProps = {
|
|
|
86
89
|
};
|
|
87
90
|
onRefresh?: () => void;
|
|
88
91
|
};
|
|
92
|
+
/** Config for the bulk-actions toolbar (delete/update/custom items) shown for the current selection. */
|
|
89
93
|
export type HeaderActionsProps = {
|
|
90
94
|
isDelete?: {
|
|
91
95
|
enabled?: boolean;
|
|
@@ -107,6 +111,7 @@ export type HeaderActionsProps = {
|
|
|
107
111
|
type: "divider";
|
|
108
112
|
})[];
|
|
109
113
|
};
|
|
114
|
+
/** Column definition: label, sort/search/freeze flags, and optional status or custom cell renderer. */
|
|
110
115
|
export type TableHeaderProps = {
|
|
111
116
|
label: string | number;
|
|
112
117
|
id: string | number;
|
|
@@ -123,14 +128,17 @@ export type TableHeaderProps = {
|
|
|
123
128
|
};
|
|
124
129
|
/** Known field data-types (open-ended via the trailing string for forward-compat). */
|
|
125
130
|
export type TableColumnType = "text" | "singleline" | "multiLine" | "description" | "email" | "phone" | "website" | "number" | "integer" | "decimal" | "dropdown" | "multiSelectDropdown" | "user" | "date" | "date_time" | "time" | "not_assigned" | (string & {});
|
|
131
|
+
/** One entry in the export-format dropdown, paired with `handleExportChange`. */
|
|
126
132
|
export type ExportOption = {
|
|
127
133
|
label: string;
|
|
128
134
|
id: string;
|
|
129
135
|
};
|
|
136
|
+
/** Current sort direction applied to one column. */
|
|
130
137
|
export type ColumnSortingProps = {
|
|
131
138
|
column: string | number;
|
|
132
139
|
direction: "asc" | "desc" | "none";
|
|
133
140
|
};
|
|
141
|
+
/** Props for the TableHeader row subcomponent: all columns, sorting, search, freeze, selection. */
|
|
134
142
|
export type TableHeaderPageProps = Pick<TableProps, "columns" | "isCheckbox" | "headerBgColor" | "freezedBgColor" | "freezedTextColor" | "noBorders" | "isLoading" | "isActionFreeze"> & {
|
|
135
143
|
handleSort: (label: string | number, type: "asc" | "desc" | "none") => void;
|
|
136
144
|
activeHeader?: string | null;
|
|
@@ -149,6 +157,7 @@ export type TableHeaderPageProps = Pick<TableProps, "columns" | "isCheckbox" | "
|
|
|
149
157
|
columnsSearch: Record<string, string>;
|
|
150
158
|
isSelecting?: boolean;
|
|
151
159
|
};
|
|
160
|
+
/** Props for the TableBody subcomponent; renders flat rows or grouped Monday-style board rows. */
|
|
152
161
|
export type TableBodyPageProps = Pick<TableProps, "columns" | "isCheckbox" | "data" | "freezedBgColor" | "freezedTextColor" | "noBorders" | "isLoading" | "loadingSkeletonRows" | "onRowClick" | "isActionFreeze" | "density" | "stripe" | "emptyState"> & {
|
|
153
162
|
startRow: number;
|
|
154
163
|
endRow: number;
|
|
@@ -164,6 +173,7 @@ export type TableBodyPageProps = Pick<TableProps, "columns" | "isCheckbox" | "da
|
|
|
164
173
|
groups?: TableRenderGroup[];
|
|
165
174
|
onAddItem?: (groupValue: string | number) => void;
|
|
166
175
|
};
|
|
176
|
+
/** One resolved group of rows with its label/accent colors, for grouped board rendering. */
|
|
167
177
|
export type TableRenderGroup = {
|
|
168
178
|
value: string | number;
|
|
169
179
|
label: string;
|
|
@@ -175,12 +185,14 @@ export type TableRenderGroup = {
|
|
|
175
185
|
};
|
|
176
186
|
rows: DataObject[];
|
|
177
187
|
};
|
|
188
|
+
/** Props for one column's search/filter popover. */
|
|
178
189
|
export type TableFiltersProps = {
|
|
179
190
|
header: TableHeaderProps;
|
|
180
191
|
setColumnsSearch: (searchVal: string) => void;
|
|
181
192
|
columnsSearch: string;
|
|
182
193
|
onClose: () => void;
|
|
183
194
|
};
|
|
195
|
+
/** Props for a single column's header cell: sorting, filtering, freeze state, width. */
|
|
184
196
|
export type ColumnHeaderProps = Pick<TableProps, "isCheckbox" | "headerBgColor" | "freezedBgColor" | "noBorders"> & Pick<TableHeaderPageProps, "handleSort" | "columnsSort"> & {
|
|
185
197
|
header: TableHeaderProps;
|
|
186
198
|
index: number;
|
|
@@ -189,6 +201,7 @@ export type ColumnHeaderProps = Pick<TableProps, "isCheckbox" | "headerBgColor"
|
|
|
189
201
|
columnsSearch: Record<string, string>;
|
|
190
202
|
setColumnsSearch: Dispatch<SetStateAction<Record<string, string>>>;
|
|
191
203
|
};
|
|
204
|
+
/** Pairs a column header with its current sort state, e.g. for a sort-icon renderer. */
|
|
192
205
|
export type SortingProps = {
|
|
193
206
|
isSorting: ColumnSortingProps | undefined;
|
|
194
207
|
header: TableHeaderProps;
|
|
@@ -4,34 +4,42 @@ import type { FilterValues } from "../filterTypes";
|
|
|
4
4
|
export type FilterItem = {
|
|
5
5
|
id: string;
|
|
6
6
|
label: string;
|
|
7
|
+
/** Omit it and the item is a value-less toggle — no operator/value control ever renders. */
|
|
7
8
|
type?: "text" | "select" | "user" | "date";
|
|
8
9
|
option?: {
|
|
9
10
|
id: string;
|
|
10
11
|
label: string;
|
|
11
12
|
}[];
|
|
12
|
-
/**
|
|
13
|
+
/** Takes precedence over `option` when both are set; `option` is only used as a fallback. */
|
|
13
14
|
selectOption?: Options[];
|
|
14
15
|
};
|
|
15
16
|
export type FilterSection = {
|
|
16
17
|
id: string;
|
|
17
18
|
label: string;
|
|
18
19
|
items?: FilterItem[];
|
|
20
|
+
/** Only effective with 2+ sections (Accordion) — a single section always renders expanded. */
|
|
19
21
|
initiallyExpanded?: boolean;
|
|
22
|
+
/** Renders single-select radio buttons instead of checkboxes; only the first `selected` entry is used. */
|
|
20
23
|
radio?: boolean;
|
|
21
24
|
};
|
|
22
25
|
export type SelectedFilterItem = {
|
|
23
26
|
id: string;
|
|
27
|
+
/** Must match an operator from TEXT_OPERATORS (text) or "is"/"is not" (select/user); unused for date. */
|
|
24
28
|
condition?: string;
|
|
29
|
+
/** Shape follows `type`: string for text, `Date` for date, a full `{id,label}` object for select/user. */
|
|
25
30
|
value?: unknown;
|
|
26
31
|
type?: "text" | "select" | "user" | "date";
|
|
27
32
|
};
|
|
28
33
|
export type LeftFilterPaneProps = {
|
|
29
34
|
title?: string;
|
|
35
|
+
/** Ignored when `filterMode="modal"` — height is forced to 100% then. */
|
|
30
36
|
height?: number | string;
|
|
31
37
|
sections: FilterSection[];
|
|
32
38
|
selected?: FilterValues;
|
|
39
|
+
/** Also fires on Clear All, but only when `filterMode` is "sidebar" (the default). */
|
|
33
40
|
onApply?: (selected: FilterValues) => void;
|
|
34
41
|
onClear?: () => void;
|
|
42
|
+
/** Required — unlike most components here, this is not read internally via `useCustomTheme`. */
|
|
35
43
|
theme: CustomThemeProps;
|
|
36
44
|
isApplyLoading?: boolean;
|
|
37
45
|
filterMode?: "sidebar" | "modal";
|
|
@@ -9,6 +9,7 @@ const ICON_SIZE = {
|
|
|
9
9
|
md: "1em",
|
|
10
10
|
lg: "1.1em",
|
|
11
11
|
};
|
|
12
|
+
/** Renders a pill-shaped status/filter chip (Chakra Tag) — not interchangeable with the raw Badge primitive's static marker. */
|
|
12
13
|
const Tag = ({ label, colorScheme = "primary", variant = "solid", size = "md", icon, onTagClick, onIconClick, }) => {
|
|
13
14
|
const isInteractive = !!onTagClick;
|
|
14
15
|
return ((0, jsx_runtime_1.jsxs)(react_1.Tag, { size: size, variant: variant, colorScheme: colorScheme, borderRadius: "full", children: [isInteractive ? ((0, jsx_runtime_1.jsx)(react_1.TagLabel, { as: "button", type: "button", cursor: "pointer", onClick: () => onTagClick === null || onTagClick === void 0 ? void 0 : onTagClick(), children: label })) : ((0, jsx_runtime_1.jsx)(react_1.TagLabel, { children: label })), icon &&
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { ElementType } from "react";
|
|
2
|
+
/** Tag color; primary/secondary/tertiary are brand tokens, the rest are semantic/neutral colors. */
|
|
2
3
|
export type TagColorScheme = "primary" | "secondary" | "tertiary" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink";
|
|
4
|
+
/** Tag size; also scales the optional icon via ICON_SIZE. Defaults to "md". */
|
|
3
5
|
export type TagSize = "xs" | "sm" | "md" | "lg";
|
|
6
|
+
/** Passed through to Chakra's Tag variant; defaults to "solid". */
|
|
4
7
|
export type TagVariant = "solid" | "outline" | "subtle";
|
|
8
|
+
/** Props for the pill-shaped status/filter Tag chip — see Tag.tsx for interactive/icon behavior. */
|
|
5
9
|
export interface TagProps {
|
|
6
10
|
label: string;
|
|
11
|
+
/** No effect without icon — turns it into a remove button and stops the click from bubbling to onTagClick. */
|
|
7
12
|
onIconClick?: () => void;
|
|
13
|
+
/** Makes only the label a button, not the tag body — the icon (if present) is a separate click target. */
|
|
8
14
|
onTagClick?: () => void;
|
|
15
|
+
/** Decorative (aria-hidden) unless onIconClick is also passed — icon alone adds no interactivity. */
|
|
9
16
|
icon?: ElementType;
|
|
10
17
|
colorScheme?: TagColorScheme;
|
|
11
18
|
size?: TagSize;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { TimelineProps } from "./TimelineProps";
|
|
2
|
+
/** Renders a grouped, alternating two-column desktop / single-rail mobile event feed with inline notes — not a generic list. */
|
|
2
3
|
declare const Timeline: ({ timelineEvents, onEventClick, onAddNote, onEditNote, onDeleteNote, showAddNote, addNoteLoading, editNoteLoading, deletingNoteId, }: TimelineProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
4
|
export default Timeline;
|
|
@@ -188,6 +188,7 @@ const EventCard = react_2.default.memo(function EventCard({ event, index, accent
|
|
|
188
188
|
setActiveNoteEventIndex(null);
|
|
189
189
|
}, handleCancel: () => setActiveNoteEventIndex(null) }) }))] }));
|
|
190
190
|
});
|
|
191
|
+
/** Renders a grouped, alternating two-column desktop / single-rail mobile event feed with inline notes — not a generic list. */
|
|
191
192
|
const Timeline = ({ timelineEvents, onEventClick, onAddNote, onEditNote, onDeleteNote, showAddNote = false, addNoteLoading, editNoteLoading, deletingNoteId, }) => {
|
|
192
193
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
193
194
|
const colors = theme.colors;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
/** Config + event data for Timeline's grouped feed; onEventClick/onAddNote/onEditNote/onDeleteNote are all optional so the feed can be read-only. */
|
|
1
2
|
export interface TimelineProps {
|
|
3
|
+
/** Dead prop — Timeline only ever reads timelineEvents; passing events silently renders nothing. */
|
|
2
4
|
events?: TimelineEvent[];
|
|
3
5
|
timelineEvents: TimelineEvents[];
|
|
4
6
|
onEventClick?: (event: TimelineEvents, index: number) => void;
|
|
5
7
|
onAddNote?: (note: string, title: string, files: File[], event: TimelineEvents, index: number) => void;
|
|
8
|
+
/** Unlike onAddNote, the edit editor only auto-closes via editNoteLoading flipping true→false — omit it and Save never closes the form. */
|
|
6
9
|
onEditNote?: (logNoteId: number, note: string, title: string, files: File[], event: TimelineEvents, index: number) => void;
|
|
7
10
|
onDeleteNote?: (logNoteId: number, event: TimelineEvents, index: number) => void;
|
|
8
11
|
showAddNote?: boolean;
|
|
@@ -13,16 +16,19 @@ export interface TimelineProps {
|
|
|
13
16
|
/** log_note_id currently being deleted — shows a spinner on that note. */
|
|
14
17
|
deletingNoteId?: number | string | null;
|
|
15
18
|
}
|
|
19
|
+
/** Shape for the dead events prop only — the array Timeline actually renders is TimelineEvents (plural), below. */
|
|
16
20
|
export interface TimelineEvent {
|
|
17
21
|
title: string;
|
|
18
22
|
description: string;
|
|
19
23
|
time: string;
|
|
20
24
|
}
|
|
25
|
+
/** A file attached to a manual timeline note; size is captured but never read or displayed. */
|
|
21
26
|
export interface TimelineNoteAttachment {
|
|
22
27
|
url: string;
|
|
23
28
|
name?: string;
|
|
24
29
|
size?: number | null;
|
|
25
30
|
}
|
|
31
|
+
/** One manual note attached to a log entry; log_note_id doubles as the React key and the edit/delete target. */
|
|
26
32
|
export interface TimelineNote {
|
|
27
33
|
log_note_id: number;
|
|
28
34
|
logs_id?: number;
|
|
@@ -32,6 +38,7 @@ export interface TimelineNote {
|
|
|
32
38
|
created_at?: number | string | null;
|
|
33
39
|
created_by?: string | null;
|
|
34
40
|
}
|
|
41
|
+
/** One timeline entry (despite the plural name) — the element type of the timelineEvents array Timeline actually renders. */
|
|
35
42
|
export interface TimelineEvents {
|
|
36
43
|
logs_id: number;
|
|
37
44
|
title: string;
|
|
@@ -39,6 +46,7 @@ export interface TimelineEvents {
|
|
|
39
46
|
is_from: string;
|
|
40
47
|
action_from: string;
|
|
41
48
|
action_by: string;
|
|
49
|
+
/** An unparseable value drops the whole event from every render path — no fallback bucket, no error. */
|
|
42
50
|
created_at: number;
|
|
43
51
|
changes: unknown;
|
|
44
52
|
notes?: TimelineNote[] | null;
|