pixelize-design-library 2.4.2-beta.4 → 2.4.2-beta.41
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 +1102 -0
- package/README.md +26 -0
- package/dist/Components/Accordion/Accordion.d.ts +1 -0
- package/dist/Components/Accordion/Accordion.js +4 -1
- 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/ApexBarChart.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +1 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +6 -0
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -0
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +8 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +1 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +6 -0
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +1 -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/AppMark.d.ts +19 -0
- package/dist/Components/AppSwitcher/AppMark.js +62 -0
- package/dist/Components/AppSwitcher/AppSwitcher.d.ts +4 -0
- package/dist/Components/AppSwitcher/AppSwitcher.js +278 -0
- package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +70 -0
- package/dist/Components/AppSwitcher/AppSwitcherProps.js +86 -0
- package/dist/Components/AppSwitcher/useAppSwitcherShortcut.d.ts +3 -0
- package/dist/Components/AppSwitcher/useAppSwitcherShortcut.js +31 -0
- package/dist/Components/AppearanceSettings/AppearanceSettings.js +2 -1
- package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +2 -0
- package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +3 -0
- package/dist/Components/Button/Button.d.ts +2 -2
- package/dist/Components/Button/Button.js +4 -3
- package/dist/Components/Button/Button.styles.js +37 -23
- package/dist/Components/Button/ButtonProps.d.ts +9 -1
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +7 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +2 -4
- package/dist/Components/Buttons/ButtonsProps.d.ts +2 -0
- package/dist/Components/Card/Card.d.ts +1 -1
- package/dist/Components/Card/Card.js +2 -2
- package/dist/Components/Card/CardProps.d.ts +3 -1
- package/dist/Components/Card/PaymentCard/PaymentCard.js +21 -12
- 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 +2 -1
- package/dist/Components/Checkbox/Checkbox.styles.js +12 -7
- package/dist/Components/Checkbox/CheckboxProps.d.ts +4 -0
- package/dist/Components/Common/ErrorComponent.d.ts +2 -0
- package/dist/Components/Common/ErrorComponent.js +7 -5
- package/dist/Components/Common/ErrorMessage.js +2 -2
- 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/Common/fieldStyles.js +1 -1
- 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 +9 -3
- package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +8 -0
- package/dist/Components/DatePicker/CalendarPanel.d.ts +6 -0
- package/dist/Components/DatePicker/CalendarPanel.js +37 -15
- package/dist/Components/DatePicker/DatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/DatePicker.js +1 -0
- package/dist/Components/DatePicker/DatePickerProps.d.ts +30 -0
- package/dist/Components/DatePicker/RangeDatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/RangeDatePicker.js +30 -5
- package/dist/Components/DatePicker/SingleDatePicker.d.ts +1 -0
- package/dist/Components/DatePicker/SingleDatePicker.js +49 -14
- 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 +11 -2
- package/dist/Components/DatePicker/TimePicker.d.ts +1 -0
- package/dist/Components/DatePicker/TimePicker.js +4 -3
- package/dist/Components/DatePicker/TimePickerInput.d.ts +1 -0
- package/dist/Components/DatePicker/TimePickerInput.js +2 -1
- package/dist/Components/DatePicker/dayStates.d.ts +56 -0
- package/dist/Components/DatePicker/dayStates.js +87 -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 +2 -0
- package/dist/Components/Dropdown/DropDown.d.ts +1 -0
- package/dist/Components/Dropdown/DropDown.js +22 -6
- 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 +4 -2
- 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 +3 -1
- package/dist/Components/FilePreview/FilePreviewProps.d.ts +5 -2
- package/dist/Components/FileUpload/FileUpload.d.ts +1 -0
- package/dist/Components/FileUpload/FileUpload.js +7 -5
- package/dist/Components/FileUpload/FileUploadProps.d.ts +7 -1
- package/dist/Components/FileUpload/constants.js +1 -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/FilterSidebar/FilterSidebar.js +5 -5
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +2 -10
- package/dist/Components/FilterSidebar/filterHoverStyle.js +3 -10
- 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/Header/components/mobileMenu.js +12 -3
- 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/TextInput.styles.js +8 -10
- 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/InputTextArea/InputTextArea.style.js +7 -6
- package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +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 +2 -2
- package/dist/Components/KanbanBoard/KanbanBoard.d.ts +1 -0
- package/dist/Components/KanbanBoard/KanbanBoard.js +1 -0
- package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +39 -14
- 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 +16 -14
- package/dist/Components/Loading/LoadingProps.d.ts +2 -0
- package/dist/Components/Modal/ModalProps.d.ts +2 -0
- package/dist/Components/MoreItems/MoreItems.d.ts +1 -0
- package/dist/Components/MoreItems/MoreItems.js +4 -1
- package/dist/Components/MoreItems/MoreItemsProps.d.ts +4 -2
- package/dist/Components/MultiSelect/MultiSelect.js +2 -2
- package/dist/Components/MultiSelect/MultiSelectProps.d.ts +2 -0
- package/dist/Components/NavigationBar/NavigationBar.js +9 -10
- package/dist/Components/NavigationBar/NavigationBarProps.d.ts +3 -0
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts +1 -0
- package/dist/Components/NoteTextArea/NoteTextArea.js +10 -4
- 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 +4 -1
- package/dist/Components/NumberInput/NumberInput.styles.js +7 -6
- package/dist/Components/NumberInput/NumberInputProps.d.ts +3 -0
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +14 -10
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +6 -1
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
- package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts +1 -0
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +4 -2
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +17 -4
- package/dist/Components/PdfViewer/PdfViewer.d.ts +2 -1
- package/dist/Components/PdfViewer/PdfViewer.js +7 -1
- 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/Primitives/Primitives.d.ts +6 -0
- package/dist/Components/Primitives/Primitives.js +113 -0
- package/dist/Components/ProductCard/ProductCardProps.d.ts +10 -0
- package/dist/Components/ProductCard/ProductReview.d.ts +1 -0
- package/dist/Components/ProductCard/ProductReview.js +6 -1
- package/dist/Components/ProductCard/ProductTags.js +1 -1
- package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +7 -0
- package/dist/Components/ProfileCard/ProfileCard.js +1 -1
- package/dist/Components/ProfileCard/ProfileCardProps.d.ts +3 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -3
- 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/RadioButton.js +3 -2
- package/dist/Components/RadioButton/RadioButtonProps.d.ts +2 -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/RolesPermission.d.ts +1 -0
- package/dist/Components/RolesPermission/RolesPermission.js +5 -3
- package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +16 -1
- package/dist/Components/ScrollToTop/ScrollToTop.d.ts +3 -2
- package/dist/Components/ScrollToTop/ScrollToTop.js +4 -1
- package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +7 -0
- package/dist/Components/ScrollbarBox/ScrollbarBox.js +1 -0
- package/dist/Components/Search/Search.d.ts +1 -0
- package/dist/Components/Search/Search.js +3 -2
- package/dist/Components/Search/SearchProps.d.ts +2 -0
- package/dist/Components/SearchSelect/SearchSelect.d.ts +1 -0
- package/dist/Components/SearchSelect/SearchSelect.js +48 -37
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +23 -0
- package/dist/Components/SegmentedControl/SegmentedControl.d.ts +3 -0
- package/dist/Components/SegmentedControl/SegmentedControl.js +89 -0
- package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +23 -0
- package/dist/Components/SegmentedControl/SegmentedControlProps.js +2 -0
- package/dist/Components/Select/Select.d.ts +1 -1
- package/dist/Components/Select/Select.js +4 -2
- package/dist/Components/Select/Select.styles.js +3 -2
- package/dist/Components/Select/SelectProps.d.ts +6 -0
- package/dist/Components/SelectSearch/SelectSearch.d.ts +1 -0
- package/dist/Components/SelectSearch/SelectSearch.js +37 -15
- package/dist/Components/SelectSearch/SelectSearchProps.d.ts +5 -0
- package/dist/Components/SelectV2/SelectV2.d.ts +1 -0
- package/dist/Components/SelectV2/SelectV2.js +20 -5
- package/dist/Components/SelectV2/SelectV2Props.d.ts +6 -1
- package/dist/Components/SideBar/SecondaryBar.js +1 -1
- package/dist/Components/SideBar/SideBar.js +5 -3
- package/dist/Components/SideBar/SideBarProps.d.ts +38 -24
- package/dist/Components/SideBar/components/MenuItemBox.js +15 -11
- package/dist/Components/SideBar/components/MenuPopoverContent.js +13 -10
- 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 +9 -1
- 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 +45 -4
- package/dist/Components/StageProgress/StageProgressProps.js +6 -4
- package/dist/Components/StageProgress/StepperStage.js +2 -2
- 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/Table.d.ts +2 -1
- package/dist/Components/Table/Table.js +15 -5
- package/dist/Components/Table/TableProps.d.ts +47 -0
- package/dist/Components/Table/components/Pagination.js +1 -1
- package/dist/Components/Table/components/TableActions.js +2 -2
- package/dist/Components/Table/components/TableBody.js +44 -18
- package/dist/Components/Table/components/TableGroupRow.js +1 -1
- package/dist/Components/Table/components/TableHeader.js +21 -8
- package/dist/Components/Table/components/TableSearch.js +1 -1
- package/dist/Components/Table/filters/CompactSelect.d.ts +1 -0
- package/dist/Components/Table/filters/CompactSelect.js +29 -8
- package/dist/Components/Table/filters/LeftFilterPane.d.ts +9 -1
- package/dist/Components/Table/filters/LeftFilterPane.js +1 -1
- package/dist/Components/Table/settings/ManageColumns.js +8 -5
- package/dist/Components/Table/settings/TableSettings.js +6 -4
- package/dist/Components/Table/variants/TableVariantContext.d.ts +4 -0
- package/dist/Components/Table/variants/TableVariantContext.js +17 -0
- package/dist/Components/Table/variants/classic.d.ts +6 -0
- package/dist/Components/Table/variants/classic.js +47 -0
- package/dist/Components/Table/variants/index.d.ts +7 -0
- package/dist/Components/Table/variants/index.js +27 -0
- package/dist/Components/Table/variants/pillInk.d.ts +6 -0
- package/dist/Components/Table/variants/pillInk.js +21 -0
- package/dist/Components/Table/variants/studio.d.ts +6 -0
- package/dist/Components/Table/variants/studio.js +50 -0
- package/dist/Components/Table/variants/tokens.d.ts +49 -0
- package/dist/Components/Table/variants/tokens.js +2 -0
- package/dist/Components/Tag/Tag.d.ts +1 -0
- package/dist/Components/Tag/Tag.js +1 -0
- package/dist/Components/Tag/Tag.styles.js +16 -11
- 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 +73 -18
- package/dist/Components/Toggle/TableToggleProps.d.ts +6 -0
- package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +3 -0
- package/dist/Components/ToggleSwitch/ToggleSwitch.js +19 -0
- package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +13 -0
- package/dist/Components/ToggleSwitch/ToggleSwitchProps.js +2 -0
- package/dist/Components/ToolTip/ToolTip.d.ts +1 -0
- package/dist/Components/ToolTip/ToolTip.js +7 -6
- package/dist/Components/ToolTip/ToolTipProps.d.ts +5 -1
- package/dist/Components/Trail/EditableCell.d.ts +2 -0
- package/dist/Components/Trail/EditableCell.js +2 -1
- 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 +2 -1
- package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +6 -2
- package/dist/Components/UserDetails/DeactivateConfirmModal.js +1 -1
- package/dist/Components/UserDetails/UserDetails.d.ts +1 -0
- package/dist/Components/UserDetails/UserDetails.js +6 -3
- package/dist/Components/UserDetails/UserDetailsProps.d.ts +30 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +6 -1
- package/dist/Hooks/exclusiveOverlay.d.ts +4 -0
- package/dist/Hooks/exclusiveOverlay.js +22 -0
- package/dist/Hooks/useExclusiveOverlay.d.ts +5 -0
- package/dist/Hooks/useExclusiveOverlay.js +24 -0
- package/dist/Theme/assertPalette.d.ts +1 -1
- package/dist/Theme/assertPalette.js +3 -2
- package/dist/Theme/chakra/Menu.styles.d.ts +2 -0
- package/dist/Theme/chakra/Menu.styles.js +9 -5
- package/dist/Theme/chakra/Popover.styles.d.ts +3 -0
- package/dist/Theme/chakra/Popover.styles.js +5 -1
- package/dist/Theme/chakra/componentStyles.d.ts +5 -0
- package/dist/Theme/chakra/componentStyles.js +16 -9
- package/dist/Theme/chakra/createBrandTheme.js +22 -9
- package/dist/Theme/chakra/focusRing.styles.d.ts +52 -0
- package/dist/Theme/chakra/focusRing.styles.js +46 -0
- package/dist/Theme/provider/ThemeSwitcher.js +5 -2
- package/dist/Theme/tokens/brands/index.js +6 -1
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +1 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.js +6 -1
- package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
- package/dist/Theme/tokens/builders/filledSurface.d.ts +29 -0
- package/dist/Theme/tokens/builders/filledSurface.js +74 -0
- package/dist/Theme/tokens/builders/focusRing.d.ts +52 -0
- package/dist/Theme/tokens/builders/focusRing.js +92 -0
- package/dist/Theme/tokens/builders/index.d.ts +2 -0
- package/dist/Theme/tokens/builders/index.js +2 -0
- package/dist/Theme/tokens/builders/outlineRung.d.ts +41 -3
- package/dist/Theme/tokens/builders/outlineRung.js +82 -5
- package/dist/Theme/tokens/builders/placeholderInk.d.ts +19 -0
- package/dist/Theme/tokens/builders/placeholderInk.js +35 -0
- package/dist/Theme/tokens/builders/resolvedRungs.d.ts +5 -1
- package/dist/Theme/tokens/builders/resolvedRungs.js +7 -2
- package/dist/Theme/tokens/builders/rowStates.d.ts +13 -0
- package/dist/Theme/tokens/builders/rowStates.js +19 -0
- package/dist/Theme/tokens/builders/scrollShadow.d.ts +2 -0
- package/dist/Theme/tokens/builders/scrollShadow.js +16 -0
- package/dist/Theme/tokens/builders/surfaceRungs.d.ts +5 -2
- package/dist/Theme/tokens/builders/surfaceRungs.js +19 -9
- package/dist/Theme/tokens/types.d.ts +21 -1
- package/dist/Utils/table.d.ts +3 -0
- package/dist/Utils/table.js +49 -3
- package/dist/esm/Components/Accordion/Accordion.js +4 -1
- package/dist/esm/Components/AlertDialog/AlertDialog.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexBarChart/ApexBarChart.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +1 -0
- package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +1 -0
- package/dist/esm/Components/AppSwitcher/AppMark.js +56 -0
- package/dist/esm/Components/AppSwitcher/AppSwitcher.js +243 -0
- package/dist/esm/Components/AppSwitcher/AppSwitcherProps.js +78 -0
- package/dist/esm/Components/AppSwitcher/useAppSwitcherShortcut.js +27 -0
- package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +2 -1
- package/dist/esm/Components/Button/Button.js +5 -4
- package/dist/esm/Components/Button/Button.styles.js +38 -24
- package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +2 -4
- package/dist/esm/Components/Card/Card.js +2 -2
- package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +21 -12
- package/dist/esm/Components/Checkbox/Checkbox.js +2 -1
- package/dist/esm/Components/Checkbox/Checkbox.styles.js +13 -8
- package/dist/esm/Components/Common/ErrorComponent.js +7 -5
- package/dist/esm/Components/Common/ErrorMessage.js +2 -2
- 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/Common/fieldStyles.js +1 -1
- package/dist/esm/Components/ContactForm/ContactForm.js +1 -0
- package/dist/esm/Components/CopyButton/CopyButton.js +10 -4
- package/dist/esm/Components/DatePicker/CalendarPanel.js +38 -16
- package/dist/esm/Components/DatePicker/DatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/RangeDatePicker.js +31 -6
- package/dist/esm/Components/DatePicker/SingleDatePicker.js +50 -15
- package/dist/esm/Components/DatePicker/ThemeDatePicker.js +1 -0
- package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +11 -2
- package/dist/esm/Components/DatePicker/TimePicker.js +4 -3
- package/dist/esm/Components/DatePicker/TimePickerInput.js +2 -1
- package/dist/esm/Components/DatePicker/dayStates.js +79 -0
- package/dist/esm/Components/Divider/Divider.js +1 -0
- package/dist/esm/Components/Dropdown/DropDown.js +23 -7
- 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 +4 -2
- 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 +3 -1
- package/dist/esm/Components/FileUpload/FileUpload.js +8 -6
- package/dist/esm/Components/FileUpload/constants.js +1 -0
- package/dist/esm/Components/FileUploader/FileUploader.js +1 -0
- package/dist/esm/Components/FilterSidebar/FilterSidebar.js +5 -5
- package/dist/esm/Components/FilterSidebar/filterHoverStyle.js +3 -10
- package/dist/esm/Components/Form/FormWrapper.js +2 -1
- package/dist/esm/Components/Header/components/mobileMenu.js +12 -3
- 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/Input/TextInput.styles.js +8 -10
- package/dist/esm/Components/InputTextArea/InputTextArea.js +1 -0
- package/dist/esm/Components/InputTextArea/InputTextArea.style.js +7 -6
- 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 +2 -2
- 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 +13 -11
- package/dist/esm/Components/MoreItems/MoreItems.js +4 -1
- package/dist/esm/Components/MultiSelect/MultiSelect.js +2 -2
- package/dist/esm/Components/NavigationBar/NavigationBar.js +9 -10
- package/dist/esm/Components/NoteTextArea/NoteTextArea.js +10 -4
- package/dist/esm/Components/Notification/Notification.js +1 -0
- package/dist/esm/Components/NumberInput/NumberInput.js +5 -2
- package/dist/esm/Components/NumberInput/NumberInput.styles.js +7 -6
- package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +14 -10
- package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
- package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +5 -3
- package/dist/esm/Components/PdfViewer/PdfViewer.js +7 -1
- package/dist/esm/Components/PinInput/PinInput.js +1 -0
- package/dist/esm/Components/PinInputs/PinInputs.js +1 -0
- package/dist/esm/Components/Primitives/Primitives.js +6 -0
- package/dist/esm/Components/ProductCard/ProductReview.js +6 -1
- package/dist/esm/Components/ProductCard/ProductTags.js +1 -1
- package/dist/esm/Components/ProfileCard/ProfileCard.js +1 -1
- package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +6 -4
- package/dist/esm/Components/ProgressBar/ProgressBar.js +1 -0
- package/dist/esm/Components/RadioButton/RadioButton.js +3 -2
- package/dist/esm/Components/Reorder/Reorder.js +1 -0
- package/dist/esm/Components/RolesPermission/RolesPermission.js +5 -3
- package/dist/esm/Components/ScrollToTop/ScrollToTop.js +4 -1
- package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +1 -0
- package/dist/esm/Components/Search/Search.js +3 -2
- package/dist/esm/Components/SearchSelect/SearchSelect.js +48 -37
- package/dist/esm/Components/SegmentedControl/SegmentedControl.js +86 -0
- package/dist/esm/Components/SegmentedControl/SegmentedControlProps.js +1 -0
- package/dist/esm/Components/Select/Select.js +5 -3
- package/dist/esm/Components/Select/Select.styles.js +3 -2
- package/dist/esm/Components/SelectSearch/SelectSearch.js +37 -15
- package/dist/esm/Components/SelectV2/SelectV2.js +20 -5
- package/dist/esm/Components/SideBar/SecondaryBar.js +1 -1
- package/dist/esm/Components/SideBar/SideBar.js +5 -3
- package/dist/esm/Components/SideBar/components/MenuItemBox.js +15 -11
- package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +13 -10
- package/dist/esm/Components/Skeletons/Skeletons.js +1 -0
- package/dist/esm/Components/Slider/Slider.js +9 -1
- package/dist/esm/Components/StageProgress/StageItem.js +1 -0
- package/dist/esm/Components/StageProgress/StageProgress.js +1 -0
- package/dist/esm/Components/StageProgress/StageProgressProps.js +7 -5
- package/dist/esm/Components/StageProgress/StepperStage.js +2 -2
- package/dist/esm/Components/Switch/Switch.js +1 -0
- package/dist/esm/Components/Table/Table.js +15 -5
- package/dist/esm/Components/Table/components/Pagination.js +1 -1
- package/dist/esm/Components/Table/components/TableActions.js +2 -2
- package/dist/esm/Components/Table/components/TableBody.js +44 -18
- package/dist/esm/Components/Table/components/TableGroupRow.js +1 -1
- package/dist/esm/Components/Table/components/TableHeader.js +21 -8
- package/dist/esm/Components/Table/components/TableSearch.js +1 -1
- package/dist/esm/Components/Table/filters/CompactSelect.js +29 -8
- package/dist/esm/Components/Table/filters/LeftFilterPane.js +1 -1
- package/dist/esm/Components/Table/settings/ManageColumns.js +8 -5
- package/dist/esm/Components/Table/settings/TableSettings.js +7 -5
- package/dist/esm/Components/Table/variants/TableVariantContext.js +13 -0
- package/dist/esm/Components/Table/variants/classic.js +43 -0
- package/dist/esm/Components/Table/variants/index.js +9 -0
- package/dist/esm/Components/Table/variants/pillInk.js +18 -0
- package/dist/esm/Components/Table/variants/studio.js +46 -0
- package/dist/esm/Components/Table/variants/tokens.js +1 -0
- package/dist/esm/Components/Tag/Tag.js +1 -0
- package/dist/esm/Components/Tag/Tag.styles.js +17 -12
- 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 +72 -17
- package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +16 -0
- package/dist/esm/Components/ToggleSwitch/ToggleSwitchProps.js +1 -0
- package/dist/esm/Components/ToolTip/ToolTip.js +7 -6
- package/dist/esm/Components/Trail/EditableCell.js +2 -1
- package/dist/esm/Components/Trail/SelectAllCheckbox.js +1 -0
- package/dist/esm/Components/Trail/TrailWorks.js +2 -1
- package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +1 -1
- package/dist/esm/Components/UserDetails/UserDetails.js +6 -3
- package/dist/esm/Hooks/exclusiveOverlay.js +16 -0
- package/dist/esm/Hooks/useExclusiveOverlay.js +20 -0
- package/dist/esm/Theme/assertPalette.js +3 -2
- package/dist/esm/Theme/chakra/Menu.styles.js +9 -5
- package/dist/esm/Theme/chakra/Popover.styles.js +5 -1
- package/dist/esm/Theme/chakra/componentStyles.js +16 -9
- package/dist/esm/Theme/chakra/createBrandTheme.js +22 -9
- package/dist/esm/Theme/chakra/focusRing.styles.js +40 -0
- package/dist/esm/Theme/provider/ThemeSwitcher.js +5 -2
- package/dist/esm/Theme/tokens/brands/index.js +6 -1
- package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +6 -1
- package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
- package/dist/esm/Theme/tokens/builders/filledSurface.js +67 -0
- package/dist/esm/Theme/tokens/builders/focusRing.js +85 -0
- package/dist/esm/Theme/tokens/builders/index.js +2 -0
- package/dist/esm/Theme/tokens/builders/outlineRung.js +78 -4
- package/dist/esm/Theme/tokens/builders/placeholderInk.js +29 -0
- package/dist/esm/Theme/tokens/builders/resolvedRungs.js +7 -2
- package/dist/esm/Theme/tokens/builders/rowStates.js +15 -0
- package/dist/esm/Theme/tokens/builders/scrollShadow.js +13 -0
- package/dist/esm/Theme/tokens/builders/surfaceRungs.js +20 -10
- package/dist/esm/Utils/table.js +50 -5
- package/dist/esm/index.js +26 -1
- package/dist/index.d.ts +26 -3
- package/dist/index.js +67 -4
- package/package.json +11 -4
|
@@ -18,6 +18,7 @@ const ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
|
|
|
18
18
|
const TimePicker_1 = __importDefault(require("./TimePicker"));
|
|
19
19
|
const TimePickerInput_1 = require("./TimePickerInput");
|
|
20
20
|
const CalendarPanel_1 = __importDefault(require("./CalendarPanel"));
|
|
21
|
+
const useExclusiveOverlay_1 = require("../../Hooks/useExclusiveOverlay");
|
|
21
22
|
const TOKEN_CHARS = /[dMyHhmsaAm]/;
|
|
22
23
|
const getPlaceholderForToken = (token, length) => {
|
|
23
24
|
const lower = token.toLowerCase();
|
|
@@ -224,6 +225,7 @@ const normalizeTimeBuffer = (tokenChar, rawBuffer, segmentLength, is12Hour) => {
|
|
|
224
225
|
}
|
|
225
226
|
return { value: buf, completed: buf.length >= segmentLength };
|
|
226
227
|
};
|
|
228
|
+
/** Date/datetime field with typed-mask input + calendar popover. Import via `DatePicker` (ThemeDatePicker) — direct import bypasses its isRange/pickerType routing. */
|
|
227
229
|
const SingleDatePicker = (props) => {
|
|
228
230
|
var _a, _b;
|
|
229
231
|
const { id, name, label, isRequired, isInformation, informationMessage, error, errorMessage, helperText, placeholderText, dateFormat = "dd/MM/yyyy", pickerType, minDate, maxDate, disableFutureDates, disablePastDates, autoComplete = "off", disabled, width = "100%", disableToday = false, size = "md", } = props;
|
|
@@ -232,6 +234,9 @@ const SingleDatePicker = (props) => {
|
|
|
232
234
|
const calendarIconPx = (0, textInputIconSize_1.getTextInputIconSizePx)(sizeKey);
|
|
233
235
|
const calendarIconWrapperSx = (0, textInputIconSize_1.getTextInputIconWrapperSx)(sizeKey);
|
|
234
236
|
const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
|
|
237
|
+
const requestExclusiveOpen = (0, useExclusiveOverlay_1.useExclusiveOverlay)(isOpen, onClose);
|
|
238
|
+
const errorFieldId = id ? `${id}-error` : undefined;
|
|
239
|
+
const calendarLabel = label !== null && label !== void 0 ? label : "Choose date";
|
|
235
240
|
const inputRef = (0, react_1.useRef)(null);
|
|
236
241
|
const popoverRef = (0, react_1.useRef)(null);
|
|
237
242
|
const triggerRef = (0, react_1.useRef)(null);
|
|
@@ -393,6 +398,7 @@ const SingleDatePicker = (props) => {
|
|
|
393
398
|
}
|
|
394
399
|
}, [inputValue, tokenSegments, enableMask, isMaskActive]);
|
|
395
400
|
const handleOpen = () => {
|
|
401
|
+
requestExclusiveOpen();
|
|
396
402
|
if (!selectedDate && showDate) {
|
|
397
403
|
setTempDate(disableToday ? tomorrow : new Date());
|
|
398
404
|
}
|
|
@@ -783,14 +789,28 @@ const SingleDatePicker = (props) => {
|
|
|
783
789
|
}
|
|
784
790
|
if (key === "Escape") {
|
|
785
791
|
e.preventDefault();
|
|
786
|
-
(
|
|
792
|
+
if (isOpen) {
|
|
793
|
+
onClose();
|
|
794
|
+
}
|
|
795
|
+
else {
|
|
796
|
+
(_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.blur();
|
|
797
|
+
}
|
|
787
798
|
return;
|
|
788
799
|
}
|
|
789
800
|
if (key === "Enter") {
|
|
790
801
|
e.preventDefault();
|
|
802
|
+
if (!isOpen && showDate) {
|
|
803
|
+
handleOpen();
|
|
804
|
+
return;
|
|
805
|
+
}
|
|
791
806
|
handleInputBlur();
|
|
792
807
|
return;
|
|
793
808
|
}
|
|
809
|
+
if (key === "ArrowDown" && !isOpen && showDate) {
|
|
810
|
+
e.preventDefault();
|
|
811
|
+
handleOpen();
|
|
812
|
+
return;
|
|
813
|
+
}
|
|
794
814
|
if (key === "Backspace" || key === "Delete") {
|
|
795
815
|
e.preventDefault();
|
|
796
816
|
const baseValue = ensureMaskValue();
|
|
@@ -932,20 +952,35 @@ const SingleDatePicker = (props) => {
|
|
|
932
952
|
};
|
|
933
953
|
const handleInputFocusMask = enableMask ? handleInputFocus : undefined;
|
|
934
954
|
const handleInputClickMask = enableMask ? handleInputClick : undefined;
|
|
935
|
-
const handleKeyDownMask = enableMask ? handleKeyDown : undefined;
|
|
936
955
|
const handlePasteMask = enableMask ? handlePaste : undefined;
|
|
956
|
+
const handleInputKeyDown = (e) => {
|
|
957
|
+
if (!enableMask) {
|
|
958
|
+
if (e.key === "Escape" && isOpen) {
|
|
959
|
+
e.preventDefault();
|
|
960
|
+
onClose();
|
|
961
|
+
return;
|
|
962
|
+
}
|
|
963
|
+
if (!isOpen && showDate && (e.key === "ArrowDown" || e.key === "Enter")) {
|
|
964
|
+
e.preventDefault();
|
|
965
|
+
handleOpen();
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
handleKeyDown(e);
|
|
971
|
+
};
|
|
937
972
|
const displayValue = isTyping
|
|
938
973
|
? inputValue
|
|
939
974
|
: tempDate
|
|
940
975
|
? (0, date_fns_1.format)(tempDate, resolvedDateFormat)
|
|
941
976
|
: "";
|
|
942
|
-
return ((0, jsx_runtime_1.jsxs)(react_2.FormControl, { id: id, isDisabled: disabled, width: width, children: [label && ((0, jsx_runtime_1.jsx)(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })), (0, jsx_runtime_1.jsxs)(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: () => {
|
|
977
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.FormControl, { id: id, isDisabled: disabled, isInvalid: error, isRequired: isRequired, width: width, children: [label && ((0, jsx_runtime_1.jsx)(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })), (0, jsx_runtime_1.jsxs)(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: () => {
|
|
943
978
|
if (suppressOnCloseFinalizeRef.current) {
|
|
944
979
|
suppressOnCloseFinalizeRef.current = false;
|
|
945
980
|
return;
|
|
946
981
|
}
|
|
947
982
|
finalize();
|
|
948
|
-
}, placement: "bottom-start", closeOnBlur: false, returnFocusOnClose:
|
|
983
|
+
}, placement: "bottom-start", closeOnBlur: false, returnFocusOnClose: true, children: [(0, jsx_runtime_1.jsx)(react_2.PopoverAnchor, { children: (0, jsx_runtime_1.jsx)(react_2.Box, { ref: triggerRef, as: "div", children: (0, jsx_runtime_1.jsxs)(react_2.InputGroup, { size: sizeKey, children: [(0, jsx_runtime_1.jsx)(react_2.Input, { ref: inputRef, id: id, name: name, size: sizeKey, placeholder: displayPlaceholder, value: displayValue, onChange: handleInputChange, onKeyDown: handleInputKeyDown, onPaste: handlePasteMask, onBlur: handleInputBlur, onClick: handleInputClickMask, onFocus: handleInputFocusMask, isDisabled: disabled, isInvalid: error, isRequired: isRequired, "aria-describedby": error && errorMessage ? errorFieldId : undefined, autoComplete: autoComplete, bg: theme.colors.background[50], borderColor: error
|
|
949
984
|
? theme.colors.semanticText.error
|
|
950
985
|
: theme.colors.boxborder[500], _focus: {
|
|
951
986
|
borderColor: error ? theme.colors.semanticText.error : theme.colors.primary[500],
|
|
@@ -954,15 +989,15 @@ const SingleDatePicker = (props) => {
|
|
|
954
989
|
: `0 0 0 0.125rem ${theme.colors.boxShadow.primary}`,
|
|
955
990
|
}, _hover: {
|
|
956
991
|
borderColor: error ? theme.colors.semanticText.error : theme.colors.primary[500],
|
|
957
|
-
}, cursor: "text", boxShadow: error ? `0 0 0 0.125rem ${theme.colors.boxShadow.error}` : `` }), (0, jsx_runtime_1.jsx)(react_2.InputRightElement, { height: "100%", display: "flex", alignItems: "center", pointerEvents: "auto", onClick: (e) => {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
992
|
+
}, cursor: "text", boxShadow: error ? `0 0 0 0.125rem ${theme.colors.boxShadow.error}` : `` }), (0, jsx_runtime_1.jsx)(react_2.InputRightElement, { height: "100%", display: "flex", alignItems: "center", pointerEvents: "auto", children: (0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": "Open calendar", variant: "ghost", size: "sm", minW: "auto", h: "auto", isDisabled: disabled, onClick: (e) => {
|
|
993
|
+
e.stopPropagation();
|
|
994
|
+
if (!isOpen) {
|
|
995
|
+
handleOpen();
|
|
996
|
+
}
|
|
997
|
+
else {
|
|
998
|
+
onClose();
|
|
999
|
+
}
|
|
1000
|
+
}, icon: (0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", sx: calendarIconWrapperSx, children: (0, jsx_runtime_1.jsx)(lucide_react_1.CalendarIcon, { size: calendarIconPx, color: theme.colors.textMuted }) }) }) })] }) }) }), (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "auto", p: 3, ref: popoverRef, boxShadow: "lg", borderRadius: "xl", bg: theme.colors.background[50], role: "dialog", "aria-label": calendarLabel, children: (0, jsx_runtime_1.jsxs)(react_2.PopoverBody, { p: 0, children: [showDate && ((0, jsx_runtime_1.jsx)(CalendarPanel_1.default, { currentMonth: currentMonth, setCurrentMonth: (updater) => setCurrentMonth((prev) => updater(prev)), today: today, isRange: false, tempDate: tempDate, tempRangeStart: null, tempRangeEnd: null, isSameDay: date_fns_1.isSameDay, isBefore: date_fns_1.isBefore, isAfter: date_fns_1.isAfter, minDate: minDate, maxDate: maxDate, disablePastDates: disablePastDates, disableFutureDates: disableFutureDates, disableToday: disableToday, onDaySelect: handleDaySelect })), showTime && ((0, jsx_runtime_1.jsx)(react_2.Box, { mt: showDate ? 3 : 0, children: resolvedPickerType === "time" ? ((0, jsx_runtime_1.jsx)(TimePickerInput_1.TimePickerInput, { value: tempDate, onChange: (updatedDate) => {
|
|
966
1001
|
setTempDate(updatedDate);
|
|
967
1002
|
setInputValue(updatedDate ? (0, date_fns_1.format)(updatedDate, resolvedDateFormat) : "");
|
|
968
1003
|
setIsTyping(false);
|
|
@@ -973,7 +1008,7 @@ const SingleDatePicker = (props) => {
|
|
|
973
1008
|
}, disabled: disabled })) })), (0, jsx_runtime_1.jsxs)(react_2.Box, { display: "flex", justifyContent: "space-between", alignItems: "center", mt: 3, pt: 3, borderTop: "1px solid", borderColor: theme.colors.boxborder[200], children: [(0, jsx_runtime_1.jsx)(Button_1.default, { size: "sm", variant: "ghost", colorScheme: "gray", onClick: () => {
|
|
974
1009
|
setTempDate(null);
|
|
975
1010
|
requestClose(null);
|
|
976
|
-
}, children: "Clear" }), (0, jsx_runtime_1.jsx)(Button_1.default, { size: "sm", variant: "gradient", onClick: () => requestClose(), children: "Apply" })] })] }) })] }), error && errorMessage && (0, jsx_runtime_1.jsx)(ErrorMessage_1.default, { errorMessage: errorMessage }), helperText && !error && (0, jsx_runtime_1.jsx)(HelperText_1.default, { helperText: helperText })] }));
|
|
1011
|
+
}, children: "Clear" }), (0, jsx_runtime_1.jsx)(Button_1.default, { size: "sm", variant: "gradient", onClick: () => requestClose(), children: "Apply" })] })] }) })] }), error && errorMessage && ((0, jsx_runtime_1.jsx)(ErrorMessage_1.default, { id: errorFieldId, errorMessage: errorMessage })), helperText && !error && (0, jsx_runtime_1.jsx)(HelperText_1.default, { helperText: helperText })] }));
|
|
977
1012
|
};
|
|
978
1013
|
exports.SingleDatePicker = SingleDatePicker;
|
|
979
1014
|
exports.default = exports.SingleDatePicker;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { DatePickerProps } from "./DatePickerProps";
|
|
3
|
+
/** Public DatePicker entry — routes to Range/TimeOnly/Single by `isRange`/`pickerType`; `pickerType` is silently ignored whenever `isRange` is true. */
|
|
3
4
|
declare const ThemeDatePicker: React.FC<DatePickerProps>;
|
|
4
5
|
export default ThemeDatePicker;
|
|
@@ -14,6 +14,7 @@ const inferPickerTypeFromFormat = (formatStr) => {
|
|
|
14
14
|
return "time";
|
|
15
15
|
return "date";
|
|
16
16
|
};
|
|
17
|
+
/** Public DatePicker entry — routes to Range/TimeOnly/Single by `isRange`/`pickerType`; `pickerType` is silently ignored whenever `isRange` is true. */
|
|
17
18
|
const ThemeDatePicker = (props) => {
|
|
18
19
|
var _a, _b;
|
|
19
20
|
if (props.isRange) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SingleDatePickerProps } from "./DatePickerProps";
|
|
3
|
+
/** Pure time field ThemeDatePicker renders for pickerType="time". Its label never receives `id`, so it is never associated with the field. */
|
|
3
4
|
export declare const TimeOnlyPicker: React.FC<SingleDatePickerProps>;
|
|
4
5
|
export default TimeOnlyPicker;
|
|
@@ -13,13 +13,22 @@ const HelperText_1 = __importDefault(require("../Common/HelperText"));
|
|
|
13
13
|
const ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
|
|
14
14
|
const TimePicker_1 = __importDefault(require("./TimePicker"));
|
|
15
15
|
const TimePickerInput_1 = require("./TimePickerInput");
|
|
16
|
+
const useExclusiveOverlay_1 = require("../../Hooks/useExclusiveOverlay");
|
|
16
17
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
17
18
|
const formatToPlaceholder = (formatStr) => formatStr.replace(/h{1,2}/gi, "HH").replace(/m{1,2}/gi, "mm").replace(/a{1,2}/gi, "AM");
|
|
19
|
+
/** Pure time field ThemeDatePicker renders for pickerType="time". Its label never receives `id`, so it is never associated with the field. */
|
|
18
20
|
const TimeOnlyPicker = (props) => {
|
|
19
21
|
var _a, _b;
|
|
20
|
-
const { id, label, isRequired, isInformation, informationMessage, error, errorMessage, helperText, placeholderText, dateFormat = "HH:mm", disabled, width = "100%", disableToday = false, size = "md",
|
|
22
|
+
const { id, label, isRequired, isInformation, informationMessage, error, errorMessage, helperText, placeholderText, dateFormat = "HH:mm", disabled, width = "100%", disableToday = false, size = "md",
|
|
23
|
+
// NOTE: name/minDate/maxDate/disableFutureDates/disablePastDates/autoComplete exist on the type but are silently dropped here.
|
|
24
|
+
} = props;
|
|
21
25
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
22
26
|
const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
|
|
27
|
+
const requestExclusiveOpen = (0, useExclusiveOverlay_1.useExclusiveOverlay)(isOpen, onClose);
|
|
28
|
+
const openPicker = () => {
|
|
29
|
+
requestExclusiveOpen();
|
|
30
|
+
onOpen();
|
|
31
|
+
};
|
|
23
32
|
const popoverRef = (0, react_1.useRef)(null);
|
|
24
33
|
const triggerRef = (0, react_1.useRef)(null);
|
|
25
34
|
const inputWrapperRef = (0, react_1.useRef)(null);
|
|
@@ -76,7 +85,7 @@ const TimeOnlyPicker = (props) => {
|
|
|
76
85
|
handleTimeInputChange(date);
|
|
77
86
|
}, dateFormat: dateFormat, disabled: disabled, placeholder: placeholder, onFocus: () => {
|
|
78
87
|
if (!disabled && !isOpen)
|
|
79
|
-
|
|
88
|
+
openPicker();
|
|
80
89
|
}, error: error, size: sizeKey }) }) }) }), (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "auto", p: 4, ref: popoverRef, boxShadow: "lg", bg: theme.colors.background[50], children: (0, jsx_runtime_1.jsxs)(react_2.PopoverBody, { children: [(0, jsx_runtime_1.jsx)(TimePicker_1.default, { date: resolvedTempDate, dateFormat: dateFormat, onChange: (updatedDate) => {
|
|
81
90
|
handleTimePickerChange(updatedDate);
|
|
82
91
|
} }), (0, jsx_runtime_1.jsxs)(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 4, pt: 4, borderTop: "1px solid", borderColor: theme.colors.boxborder[200], children: [(0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", variant: "ghost", onClick: handleClear, children: "Clear" }), (0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", colorScheme: "primary", onClick: handleOk, children: "OK" })] })] }) })] }), error && errorMessage && (0, jsx_runtime_1.jsx)(ErrorMessage_1.default, { errorMessage: errorMessage }), helperText && !error && (0, jsx_runtime_1.jsx)(HelperText_1.default, { helperText: helperText })] }));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TimePickerProps } from "./DatePickerProps";
|
|
3
|
+
/** Hour/Minute/AM-PM select trio, no seconds control — used by datetime pickers and TimeOnlyPicker; the format only toggles 12h vs 24h. */
|
|
3
4
|
declare const TimePicker: React.FC<TimePickerProps>;
|
|
4
5
|
export default TimePicker;
|
|
@@ -4,6 +4,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const react_2 = require("@chakra-ui/react");
|
|
6
6
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
7
|
+
/** Hour/Minute/AM-PM select trio, no seconds control — used by datetime pickers and TimeOnlyPicker; the format only toggles 12h vs 24h. */
|
|
7
8
|
const TimePicker = ({ date, onChange, dateFormat, disabled = false }) => {
|
|
8
9
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
9
10
|
const is12HourFormat = /(hh|h).*a/i.test(dateFormat);
|
|
@@ -54,16 +55,16 @@ const TimePicker = ({ date, onChange, dateFormat, disabled = false }) => {
|
|
|
54
55
|
updateTime(hour, minute, newMeridiem);
|
|
55
56
|
};
|
|
56
57
|
const displayHour = is12HourFormat ? (hour % 12 === 0 ? 12 : hour % 12) : hour;
|
|
57
|
-
return ((0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 1.5, w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.Select, { value: displayHour, onChange: handleHourChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 1.5, w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.Select, { "aria-label": "Hour", value: displayHour, onChange: handleHourChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.background[50], borderColor: theme.colors.boxborder[500], _focus: {
|
|
58
59
|
borderColor: theme.colors.primary[500],
|
|
59
60
|
boxShadow: `0 0 0 0.125rem ${theme.colors.boxShadow.primary}`,
|
|
60
61
|
}, _hover: { borderColor: theme.colors.primary[500] }, children: Array.from({ length: is12HourFormat ? 12 : 24 }, (_, i) => {
|
|
61
62
|
const value = is12HourFormat ? i + 1 : i;
|
|
62
63
|
return ((0, jsx_runtime_1.jsx)("option", { value: value, children: value.toString().padStart(2, "0") }, value));
|
|
63
|
-
}) }), (0, jsx_runtime_1.jsx)(react_2.Select, { value: minute, onChange: handleMinuteChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.
|
|
64
|
+
}) }), (0, jsx_runtime_1.jsx)(react_2.Select, { "aria-label": "Minute", value: minute, onChange: handleMinuteChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.background[50], borderColor: theme.colors.boxborder[500], _focus: {
|
|
64
65
|
borderColor: theme.colors.primary[500],
|
|
65
66
|
boxShadow: `0 0 0 0.125rem ${theme.colors.boxShadow.primary}`,
|
|
66
|
-
}, _hover: { borderColor: theme.colors.primary[500] }, children: Array.from({ length: 60 }, (_, i) => ((0, jsx_runtime_1.jsx)("option", { value: i, children: i.toString().padStart(2, "0") }, i))) }), is12HourFormat && ((0, jsx_runtime_1.jsxs)(react_2.Select, { value: ampm, onChange: handleAmpmChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.
|
|
67
|
+
}, _hover: { borderColor: theme.colors.primary[500] }, children: Array.from({ length: 60 }, (_, i) => ((0, jsx_runtime_1.jsx)("option", { value: i, children: i.toString().padStart(2, "0") }, i))) }), is12HourFormat && ((0, jsx_runtime_1.jsxs)(react_2.Select, { "aria-label": "AM or PM", value: ampm, onChange: handleAmpmChange, flex: "1", minW: 0, size: "sm", isDisabled: disabled, bg: theme.colors.background[50], borderColor: theme.colors.boxborder[500], _focus: {
|
|
67
68
|
borderColor: theme.colors.primary[500],
|
|
68
69
|
boxShadow: `0 0 0 0.125rem ${theme.colors.boxShadow.primary}`,
|
|
69
70
|
}, _hover: { borderColor: theme.colors.primary[500] }, children: [(0, jsx_runtime_1.jsx)("option", { value: "AM", children: "AM" }), (0, jsx_runtime_1.jsx)("option", { value: "PM", children: "PM" })] }))] }));
|
|
@@ -10,5 +10,6 @@ interface TimePickerInputProps {
|
|
|
10
10
|
error?: boolean;
|
|
11
11
|
size?: "xs" | "sm" | "md" | "lg";
|
|
12
12
|
}
|
|
13
|
+
/** Masked HH:mm digit input, no seconds; has no `name`/`id` prop, so it can't be targeted by native form APIs. */
|
|
13
14
|
export declare const TimePickerInput: React.FC<TimePickerInputProps>;
|
|
14
15
|
export {};
|
|
@@ -91,6 +91,7 @@ const caretFromDigitIndex = (digitIndex, digitsLen) => {
|
|
|
91
91
|
return digitIndex + 1;
|
|
92
92
|
};
|
|
93
93
|
const formatToPlaceholder = (formatStr) => formatStr.replace(/h{1,2}/gi, "HH").replace(/m{1,2}/gi, "mm").replace(/a{1,2}/gi, "AM");
|
|
94
|
+
/** Masked HH:mm digit input, no seconds; has no `name`/`id` prop, so it can't be targeted by native form APIs. */
|
|
94
95
|
const TimePickerInput = ({ value, onChange, dateFormat, disabled = false, placeholder, onFocus, onBlur, error, size = "md", }) => {
|
|
95
96
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
96
97
|
const sizeKey = typeof size === "string" ? size : "md";
|
|
@@ -403,7 +404,7 @@ const TimePickerInput = ({ value, onChange, dateFormat, disabled = false, placeh
|
|
|
403
404
|
inputRef.current.value = is12Hour && formatted ? `${formatted} ${ampm}` : formatted;
|
|
404
405
|
}
|
|
405
406
|
}, [digits, ampm, is12Hour]);
|
|
406
|
-
return ((0, jsx_runtime_1.jsxs)(react_2.InputGroup, { size: sizeKey, children: [(0, jsx_runtime_1.jsx)(react_2.Input, { ref: inputRef, defaultValue: "", onChange: handleInput, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur, onClick: handleClick, onPaste: handlePaste, placeholder: placeholderText, isDisabled: disabled, autoComplete: "off", isInvalid: error, size: sizeKey, bg: theme.colors.
|
|
407
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.InputGroup, { size: sizeKey, children: [(0, jsx_runtime_1.jsx)(react_2.Input, { ref: inputRef, defaultValue: "", onChange: handleInput, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur, onClick: handleClick, onPaste: handlePaste, placeholder: placeholderText, isDisabled: disabled, autoComplete: "off", isInvalid: error, size: sizeKey, bg: theme.colors.background[50], borderColor: error ? theme.colors.semanticText.error : theme.colors.boxborder[500], _focus: {
|
|
407
408
|
borderColor: error ? theme.colors.semanticText.error : theme.colors.primary[500],
|
|
408
409
|
boxShadow: error
|
|
409
410
|
? `0 0 0 0.125rem ${theme.colors.boxShadow.error}`
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Day-state marking for the calendar grid.
|
|
3
|
+
*
|
|
4
|
+
* A *state* is a key describing what a single day MEANS in the caller's domain — a weekly off,
|
|
5
|
+
* a public holiday, a day excluded from a leave count. It is deliberately separate from
|
|
6
|
+
* disabling: a marked day stays selectable unless the caller also returns the `"disabled"` key
|
|
7
|
+
* (or blocks the day through `minDate`/`maxDate`/`disablePastDates`/`disableFutureDates`).
|
|
8
|
+
*
|
|
9
|
+
* Every key returned reaches a screen reader. Only the keys in `DAY_STATE_KEYS` also carry
|
|
10
|
+
* built-in styling, so a caller can return a free-text key ("Onam") purely to have it announced
|
|
11
|
+
* alongside the recognised one: `["Onam", "holiday"]` → "16 September 2025, Onam, holiday".
|
|
12
|
+
*
|
|
13
|
+
* Colour comes from the palette only — every visual below is a function of `PaletteProps`, so a
|
|
14
|
+
* marked day follows the active light/dark palette like the rest of `CalendarPanel`.
|
|
15
|
+
*/
|
|
16
|
+
import type { ReactNode } from "react";
|
|
17
|
+
import type { PaletteProps } from "../../Theme/tokens/types";
|
|
18
|
+
/**
|
|
19
|
+
* The keys with built-in styling, in ascending precedence — when a day carries several, a later
|
|
20
|
+
* key's visual overrides the fields an earlier one set.
|
|
21
|
+
*/
|
|
22
|
+
export declare const DAY_STATE_KEYS: readonly ["weekly-off", "holiday", "optional-holiday", "excluded", "disabled"];
|
|
23
|
+
export type DayStateKey = (typeof DAY_STATE_KEYS)[number];
|
|
24
|
+
/** Returns zero or more state keys for a day. Unrecognised keys are announced, never styled. */
|
|
25
|
+
export type DayStates = (date: Date) => string[] | undefined;
|
|
26
|
+
/** Custom content rendered inside a day cell, beneath the day number. */
|
|
27
|
+
export type RenderDayContent = (date: Date, states: string[]) => ReactNode;
|
|
28
|
+
/** What a resolved set of states paints. Every field is optional — an absent field changes nothing. */
|
|
29
|
+
export type DayStateVisual = {
|
|
30
|
+
/** Tint painted across the whole cell. The range band always wins over it. */
|
|
31
|
+
cellBg?: string;
|
|
32
|
+
/** Ink for the day number. Never applied to a selected/endpoint day, whose fill owns its ink. */
|
|
33
|
+
color?: string;
|
|
34
|
+
/** `border` shorthand for the day circle, replacing the today/tentative ring. */
|
|
35
|
+
border?: string;
|
|
36
|
+
/** Fill of the small marker dot under the number. `renderDayContent` replaces it. */
|
|
37
|
+
markerColor?: string;
|
|
38
|
+
/** Strikes the day number through — the "counted, but not really" states. */
|
|
39
|
+
strikethrough?: boolean;
|
|
40
|
+
/** The one state that also blocks selection. Marking alone never does. */
|
|
41
|
+
blocksSelection?: boolean;
|
|
42
|
+
};
|
|
43
|
+
export declare const isDayStateKey: (key: string) => key is DayStateKey;
|
|
44
|
+
/** Merges every recognised state in `DAY_STATE_KEYS` order, so precedence never depends on caller order. */
|
|
45
|
+
export declare const resolveDayStateVisual: (states: string[], colors: PaletteProps) => DayStateVisual;
|
|
46
|
+
/** Base class on every day button once `dayStates` is supplied. Consumers may style off it. */
|
|
47
|
+
export declare const DAY_CLASS = "pxl-calendar-day";
|
|
48
|
+
/** `["Onam", "holiday"]` → `"pxl-calendar-day pxl-calendar-day--onam pxl-calendar-day--holiday"`. */
|
|
49
|
+
export declare const dayStateClassName: (states: string[]) => string;
|
|
50
|
+
/** Human phrasing for the accessible name — every key, styled or not, in the caller's own order. */
|
|
51
|
+
export declare const describeDayStates: (states: string[]) => string;
|
|
52
|
+
/**
|
|
53
|
+
* The day's accessible name. The date is spelled out because "16" alone tells a screen-reader
|
|
54
|
+
* user nothing, and the states follow it so the marking is heard, not only seen.
|
|
55
|
+
*/
|
|
56
|
+
export declare const dayAccessibleName: (formattedDate: string, states: string[]) => string;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dayAccessibleName = exports.describeDayStates = exports.dayStateClassName = exports.DAY_CLASS = exports.resolveDayStateVisual = exports.isDayStateKey = exports.DAY_STATE_KEYS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The keys with built-in styling, in ascending precedence — when a day carries several, a later
|
|
6
|
+
* key's visual overrides the fields an earlier one set.
|
|
7
|
+
*/
|
|
8
|
+
exports.DAY_STATE_KEYS = [
|
|
9
|
+
"weekly-off",
|
|
10
|
+
"holiday",
|
|
11
|
+
"optional-holiday",
|
|
12
|
+
"excluded",
|
|
13
|
+
"disabled",
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Token roles, not rungs (see `Theme/THEME-CONTRACT.md`):
|
|
17
|
+
* - a non-working day is a *surface* step down plus muted ink — `backgroundColor.muted` / `textMuted`
|
|
18
|
+
* - a holiday is *status ink*, so `semanticText.<tone>`, never the `semantic.<tone>[500]` fill rung
|
|
19
|
+
* - an optional holiday is the same tone family one step less certain: warning + a dashed ring
|
|
20
|
+
* - an unavailable day is the `disabled` ramp, the only ramp whose job is exactly this
|
|
21
|
+
*/
|
|
22
|
+
const VISUALS = {
|
|
23
|
+
"weekly-off": (colors) => ({
|
|
24
|
+
cellBg: colors.backgroundColor.muted,
|
|
25
|
+
color: colors.textMuted,
|
|
26
|
+
}),
|
|
27
|
+
holiday: (colors) => ({
|
|
28
|
+
color: colors.semanticText.info,
|
|
29
|
+
markerColor: colors.semanticText.info,
|
|
30
|
+
}),
|
|
31
|
+
"optional-holiday": (colors) => ({
|
|
32
|
+
color: colors.semanticText.warning,
|
|
33
|
+
markerColor: colors.semanticText.warning,
|
|
34
|
+
border: `1px dashed ${colors.semanticText.warning}`,
|
|
35
|
+
}),
|
|
36
|
+
excluded: (colors) => ({
|
|
37
|
+
color: colors.textMuted,
|
|
38
|
+
strikethrough: true,
|
|
39
|
+
}),
|
|
40
|
+
disabled: (colors) => ({
|
|
41
|
+
color: colors.disabled[500],
|
|
42
|
+
blocksSelection: true,
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
const isDayStateKey = (key) => exports.DAY_STATE_KEYS.includes(key);
|
|
46
|
+
exports.isDayStateKey = isDayStateKey;
|
|
47
|
+
/** Merges every recognised state in `DAY_STATE_KEYS` order, so precedence never depends on caller order. */
|
|
48
|
+
const resolveDayStateVisual = (states, colors) => {
|
|
49
|
+
const visual = {};
|
|
50
|
+
for (const key of exports.DAY_STATE_KEYS) {
|
|
51
|
+
if (states.includes(key))
|
|
52
|
+
Object.assign(visual, VISUALS[key](colors));
|
|
53
|
+
}
|
|
54
|
+
return visual;
|
|
55
|
+
};
|
|
56
|
+
exports.resolveDayStateVisual = resolveDayStateVisual;
|
|
57
|
+
/** Base class on every day button once `dayStates` is supplied. Consumers may style off it. */
|
|
58
|
+
exports.DAY_CLASS = "pxl-calendar-day";
|
|
59
|
+
const slug = (key) => key
|
|
60
|
+
.trim()
|
|
61
|
+
.toLowerCase()
|
|
62
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
63
|
+
.replace(/^-+|-+$/g, "");
|
|
64
|
+
/** `["Onam", "holiday"]` → `"pxl-calendar-day pxl-calendar-day--onam pxl-calendar-day--holiday"`. */
|
|
65
|
+
const dayStateClassName = (states) => [
|
|
66
|
+
exports.DAY_CLASS,
|
|
67
|
+
...states
|
|
68
|
+
.map(slug)
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.map((key) => `${exports.DAY_CLASS}--${key}`),
|
|
71
|
+
].join(" ");
|
|
72
|
+
exports.dayStateClassName = dayStateClassName;
|
|
73
|
+
/** Human phrasing for the accessible name — every key, styled or not, in the caller's own order. */
|
|
74
|
+
const describeDayStates = (states) => states
|
|
75
|
+
.map((state) => ((0, exports.isDayStateKey)(state) ? state.replace(/-/g, " ") : state.trim()))
|
|
76
|
+
.filter(Boolean)
|
|
77
|
+
.join(", ");
|
|
78
|
+
exports.describeDayStates = describeDayStates;
|
|
79
|
+
/**
|
|
80
|
+
* The day's accessible name. The date is spelled out because "16" alone tells a screen-reader
|
|
81
|
+
* user nothing, and the states follow it so the marking is heard, not only seen.
|
|
82
|
+
*/
|
|
83
|
+
const dayAccessibleName = (formattedDate, states) => {
|
|
84
|
+
const described = (0, exports.describeDayStates)(states);
|
|
85
|
+
return described ? `${formattedDate}, ${described}` : formattedDate;
|
|
86
|
+
};
|
|
87
|
+
exports.dayAccessibleName = dayAccessibleName;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const react_1 = require("@chakra-ui/react");
|
|
5
5
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
6
|
+
/** Always vertical, fixed size/color, zero props — exported name keeps a "VeritcalDivider" typo; not interchangeable with Primitives' Divider. */
|
|
6
7
|
const VeritcalDivider = () => {
|
|
7
8
|
const { colors } = (0, useCustomTheme_1.useCustomTheme)();
|
|
8
9
|
return ((0, jsx_runtime_1.jsx)(react_1.Divider, { orientation: "vertical", height: 5, borderWidth: 1.2, borderColor: colors.boxborder[500] }));
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { DrawerProps as ChakraDrawerProps } from "@chakra-ui/react";
|
|
2
|
+
/** Curated Pick of Chakra's DrawerProps plus overrides — `vaiant` is a typo'd, unused field; the real prop is `variant`. */
|
|
2
3
|
export type DrawerProps = Pick<ChakraDrawerProps, "isOpen" | "onClose" | "placement" | "size" | "id" | "variant"> & {
|
|
3
4
|
size?: "xs" | "sm" | "md" | "lg" | "xl" | "full";
|
|
4
5
|
placement?: "top" | "right" | "bottom" | "left";
|
|
5
6
|
vaiant?: "solid" | "outline" | "ghost" | "link";
|
|
7
|
+
/** Only DrawerHeader/DrawerBody/DrawerFooter render; other elements and fragment-wrapped slots are silently dropped. */
|
|
6
8
|
children?: React.ReactNode;
|
|
7
9
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { DropdownProps } from "./DropdownProps";
|
|
3
|
+
/** Menu-button that triggers labelled actions — nothing is "selected"/persisted; for picking a value from a list, use Select/SelectV2. */
|
|
3
4
|
declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
5
|
export default Dropdown;
|
|
@@ -6,6 +6,8 @@ const react_2 = require("@chakra-ui/react");
|
|
|
6
6
|
const framer_motion_1 = require("framer-motion");
|
|
7
7
|
const useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
8
8
|
const scrollbar_1 = require("../../Theme/tokens/builders/scrollbar");
|
|
9
|
+
const rowStates_1 = require("../../Theme/tokens/builders/rowStates");
|
|
10
|
+
const useExclusiveOverlay_1 = require("../../Hooks/useExclusiveOverlay");
|
|
9
11
|
const lucide_react_1 = require("lucide-react");
|
|
10
12
|
const rafThrottle_1 = require("../../Utils/rafThrottle");
|
|
11
13
|
const MotionBox = (0, framer_motion_1.motion)((0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_2.Box, { ref: ref, ...props }))));
|
|
@@ -17,10 +19,13 @@ const SIZE_MAP = {
|
|
|
17
19
|
lg: { btn: "lg", fontSize: "0.9375rem", py: 2.5, px: 3.5, img: "1.25rem", chevron: 18, minW: "12rem", gap: 2.5 },
|
|
18
20
|
xl: { btn: "lg", fontSize: "1.0625rem", py: 3, px: 4, img: "1.4rem", chevron: 20, minW: "13rem", gap: 3 },
|
|
19
21
|
};
|
|
22
|
+
/** Menu-button that triggers labelled actions — nothing is "selected"/persisted; for picking a value from a list, use Select/SelectV2. */
|
|
20
23
|
const Dropdown = (0, react_1.forwardRef)(({ dropDownButtonStyle, ButtonText, options, handleOptionSelect, dropdownType = "button", text, DropdownIcon, isVisibleIconShow = true, buttonProps, headStyle, ListStyle, ItemStyle, LabelStyle, ImageStyle, size, optionsSize, divider = false, ariaLabel, }, ref) => {
|
|
21
24
|
var _a, _b;
|
|
22
25
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
23
|
-
const
|
|
26
|
+
const rowBackgrounds = (0, react_1.useMemo)(() => (0, rowStates_1.listRowBackgrounds)(theme.colors), [theme.colors]);
|
|
27
|
+
const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
|
|
28
|
+
const requestExclusiveOpen = (0, useExclusiveOverlay_1.useExclusiveOverlay)(isOpen, onClose);
|
|
24
29
|
const dropdownRef = (0, react_1.useRef)(null);
|
|
25
30
|
const menuRef = (0, react_1.useRef)(null);
|
|
26
31
|
const [menuPos, setMenuPos] = (0, react_1.useState)({ top: 0, left: 0, width: 0 });
|
|
@@ -50,6 +55,16 @@ const Dropdown = (0, react_1.forwardRef)(({ dropDownButtonStyle, ButtonText, opt
|
|
|
50
55
|
}
|
|
51
56
|
else {
|
|
52
57
|
pendingFocusIndex.current = index;
|
|
58
|
+
requestExclusiveOpen();
|
|
59
|
+
onOpen();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const handleToggle = () => {
|
|
63
|
+
if (isOpen) {
|
|
64
|
+
onClose();
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
requestExclusiveOpen();
|
|
53
68
|
onOpen();
|
|
54
69
|
}
|
|
55
70
|
};
|
|
@@ -92,7 +107,7 @@ const Dropdown = (0, react_1.forwardRef)(({ dropDownButtonStyle, ButtonText, opt
|
|
|
92
107
|
// `fireEvent` does not simulate a real browser's Enter/Space-activates-
|
|
93
108
|
// button default action either.
|
|
94
109
|
e.preventDefault();
|
|
95
|
-
|
|
110
|
+
handleToggle();
|
|
96
111
|
}
|
|
97
112
|
};
|
|
98
113
|
const handleMenuKeyDown = (e) => {
|
|
@@ -208,22 +223,23 @@ const Dropdown = (0, react_1.forwardRef)(({ dropDownButtonStyle, ButtonText, opt
|
|
|
208
223
|
};
|
|
209
224
|
const Chevron = isVisibleIconShow ? ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", display: "inline-flex", transition: "transform 0.2s ease", transform: isOpen ? "rotate(180deg)" : "rotate(0deg)", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { size: s.chevron }) })) : undefined;
|
|
210
225
|
const dropDownToggleOption = () => {
|
|
211
|
-
const ButtonToggle = ((0, jsx_runtime_1.jsx)(react_2.Button, { ref: buttonTriggerRef, onClick:
|
|
212
|
-
const TextToggle = ((0, jsx_runtime_1.jsxs)(react_2.Flex, { ref: textTriggerRef, onClick:
|
|
226
|
+
const ButtonToggle = ((0, jsx_runtime_1.jsx)(react_2.Button, { ref: buttonTriggerRef, onClick: handleToggle, onKeyDown: handleTriggerKeyDown, size: s.btn, colorScheme: "primary", borderRadius: "lg", fontWeight: 600, "aria-haspopup": "menu", "aria-expanded": isOpen, "aria-controls": menuId, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : (ButtonText ? undefined : "Open menu"), rightIcon: Chevron, sx: { transition: "all 0.15s ease", ...(dropDownButtonStyle) }, ...buttonProps, children: (0, jsx_runtime_1.jsxs)(react_2.Box, { as: "span", display: "inline-flex", alignItems: "center", gap: DropdownIcon && ButtonText ? s.gap : 0, children: [DropdownIcon, ButtonText] }) }));
|
|
227
|
+
const TextToggle = ((0, jsx_runtime_1.jsxs)(react_2.Flex, { ref: textTriggerRef, onClick: handleToggle, onKeyDown: handleTriggerKeyDown, align: "center", gap: 1.5, cursor: "pointer", fontSize: s.fontSize, fontWeight: 500, color: theme.colors.text[700], transition: "color 0.15s ease", _hover: { color: theme.colors.accentText }, style: dropDownButtonStyle, role: "button", tabIndex: 0, "aria-haspopup": "menu", "aria-expanded": isOpen, "aria-controls": menuId, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : (text ? undefined : "Open menu"), children: [DropdownIcon, text, Chevron] }));
|
|
213
228
|
return dropdownType === "button" ? ButtonToggle : TextToggle;
|
|
214
229
|
};
|
|
215
230
|
const DropdownContentRender = () => {
|
|
216
231
|
var _a;
|
|
232
|
+
const hoverTint = rowBackgrounds.active;
|
|
217
233
|
return ((0, jsx_runtime_1.jsx)(react_2.List, { id: menuId, role: "menu", onKeyDown: handleMenuKeyDown, bg: theme.colors.background[50], border: `0.063rem solid ${theme.colors.boxborder[200]}`, borderRadius: "xl", boxShadow: (_a = theme.shadows) === null || _a === void 0 ? void 0 : _a.lg, py: 1.5, mt: "0.375rem", minWidth: s.minW, maxH: "18rem", overflowY: "auto", overflowX: "hidden", sx: (0, scrollbar_1.scrollbarStyles)(theme.colors, "overlay"), style: ListStyle, children: options.map((option, index) => ((0, jsx_runtime_1.jsxs)(react_2.ListItem, { ref: (node) => {
|
|
218
234
|
itemRefs.current[index] = node;
|
|
219
235
|
}, role: "menuitem", tabIndex: index === activeIndex ? 0 : -1, onClick: () => {
|
|
220
236
|
handleListItemClick(option.id, option.label);
|
|
221
237
|
focusTrigger();
|
|
222
238
|
}, onKeyDown: (e) => handleItemKeyDown(e, option.id, option.label), mx: 1.5, px: s.px, py: s.py, borderRadius: "md", display: "flex", alignItems: "center", gap: 2, cursor: "pointer", color: theme.colors.text[700], transition: "background 0.12s ease, color 0.12s ease", _hover: {
|
|
223
|
-
bg:
|
|
239
|
+
bg: hoverTint,
|
|
224
240
|
color: theme.colors.accentText,
|
|
225
241
|
}, _focus: {
|
|
226
|
-
bg:
|
|
242
|
+
bg: hoverTint,
|
|
227
243
|
color: theme.colors.accentText,
|
|
228
244
|
}, borderBottom: divider
|
|
229
245
|
? `0.063rem solid ${theme.colors.boxborder[200]}`
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ButtonProps } from "@chakra-ui/react";
|
|
2
|
+
/** Props for the action-menu Dropdown — nothing here is "selected" or persisted; for picking a value from a list use Select/SelectV2. */
|
|
2
3
|
export type DropdownProps = {
|
|
4
|
+
/** Rendered only for the default dropdownType="button" — has no effect under dropdownType="text" (use `text` there). */
|
|
3
5
|
ButtonText?: string;
|
|
4
6
|
options: Option[];
|
|
5
7
|
handleOptionSelect: (id: string | number, label: string) => void;
|
|
@@ -25,6 +27,7 @@ export type DropdownProps = {
|
|
|
25
27
|
type Option = {
|
|
26
28
|
id: string | number;
|
|
27
29
|
label: string;
|
|
30
|
+
/** Icon component reference (e.g. `Star`), not a rendered element like `<Star />` — passed to Chakra's `as`. */
|
|
28
31
|
image?: React.ElementType;
|
|
29
32
|
};
|
|
30
33
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { EditorProps } from "./EditorProps";
|
|
3
|
+
/** Lazy-loaded Jodit wrapper — a `config.theme` or `config.popupRoot` you pass overrides this library's own dark-mode/popup fix; omit both keys. */
|
|
3
4
|
declare const Editor: React.NamedExoticComponent<EditorProps>;
|
|
4
5
|
export default Editor;
|
|
@@ -46,6 +46,7 @@ const JoditEditor = react_1.default.lazy(async () => {
|
|
|
46
46
|
const mod = (await Promise.resolve().then(() => __importStar(require("jodit-react"))));
|
|
47
47
|
return { default: ((_a = mod.default) !== null && _a !== void 0 ? _a : mod) };
|
|
48
48
|
});
|
|
49
|
+
/** Lazy-loaded Jodit wrapper — a `config.theme` or `config.popupRoot` you pass overrides this library's own dark-mode/popup fix; omit both keys. */
|
|
49
50
|
const Editor = react_1.default.memo(function Editor({ value, key, config, editorRef, className, onChange, onBlur, }) {
|
|
50
51
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
51
52
|
// Jodit portals dialogs/toolbar-dropdown popups (search & replace, image/link properties,
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type JoditEditor from "jodit-react";
|
|
2
2
|
import type { ComponentProps } from "react";
|
|
3
3
|
type JoditEditorProps = ComponentProps<typeof JoditEditor>;
|
|
4
|
+
/** Props for the lazy-loaded Jodit wrapper; a `config.theme`/`config.popupRoot` you pass overrides this library's own dark-mode fix. */
|
|
4
5
|
export type EditorProps = Pick<JoditEditorProps, "value" | "config" | "className" | "onChange" | "onBlur"> & {
|
|
6
|
+
/** `key` is dead (React reserves it, never reaches Jodit); `editorRef.current` stays null until the lazy chunk loads. */
|
|
5
7
|
editorRef?: JoditEditorProps["ref"];
|
|
6
8
|
key?: string | number;
|
|
7
9
|
};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { VerifyEmailOtpProps } from "./VerifyEmailOtpProps";
|
|
2
|
+
/** Full verification card (icon, title, description, resend link, digits-only PinInput) — for a bare OTP field in your own layout, use PinInput or PinInputs instead. */
|
|
2
3
|
export default function VerifyEmailOtp({ resendMail, onChange, onComplete, placeholder, pins, description, title, isDisabled, isInvalid, styles, }: VerifyEmailOtpProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,13 +5,10 @@ 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
7
|
const lucide_react_1 = require("lucide-react");
|
|
8
|
+
/** Full verification card (icon, title, description, resend link, digits-only PinInput) — for a bare OTP field in your own layout, use PinInput or PinInputs instead. */
|
|
8
9
|
function VerifyEmailOtp({ resendMail, onChange, onComplete, placeholder = "", pins = 5, description, title, isDisabled = false, isInvalid = false, styles, }) {
|
|
9
10
|
const theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
10
|
-
return ((0, jsx_runtime_1.jsxs)(react_1.Box, { style: styles, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", p: 6, w: "100%", maxW: "25rem", mx: "auto", borderColor: theme.colors.gray[200], borderRadius: "lg", children: [(0, jsx_runtime_1.jsx)(react_1.Box, { mb: 4, children: (0, jsx_runtime_1.jsx)(lucide_react_1.MailCheck, { size: 80, color: theme.colors.accentText }) }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "2xl", fontWeight: "bold", mb: 2, textAlign: "center", children: title }), (0, jsx_runtime_1.jsxs)(react_1.Text, { fontSize: "md", textAlign: "center", color: theme.colors.gray[600], mb: 6, children: [description, (0, jsx_runtime_1.jsx)("br", {}), "your new Pixel Account"] }), (0, jsx_runtime_1.jsx)(react_1.HStack, { spacing: 3, mb: 6, children: (0, jsx_runtime_1.jsx)(react_1.PinInput, { placeholder: placeholder, onChange: onChange, onComplete: onComplete, isDisabled: isDisabled, isInvalid: isInvalid, size: "lg", focusBorderColor: theme.colors.primary[500], children: Array.from({ length: pins }).map((_, index) => ((0, jsx_runtime_1.jsx)(react_1.PinInputField, { borderRadius: "md", border: "0.063rem solid",
|
|
11
|
-
// [800], not [300]: WCAG 1.4.11 needs >=3.0 for a control boundary against any
|
|
12
|
-
// named surface up to `muted` (lightest); [300] fails there, [800] clears all
|
|
13
|
-
// with margin.
|
|
14
|
-
borderColor: theme.colors.boxborder[500], backgroundColor: theme.colors.background[200], _focus: {
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Box, { style: styles, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", p: 6, w: "100%", maxW: "25rem", mx: "auto", borderColor: theme.colors.gray[200], borderRadius: "lg", children: [(0, jsx_runtime_1.jsx)(react_1.Box, { mb: 4, children: (0, jsx_runtime_1.jsx)(lucide_react_1.MailCheck, { size: 80, color: theme.colors.accentText }) }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "2xl", fontWeight: "bold", mb: 2, textAlign: "center", children: title }), (0, jsx_runtime_1.jsxs)(react_1.Text, { fontSize: "md", textAlign: "center", color: theme.colors.gray[600], mb: 6, children: [description, (0, jsx_runtime_1.jsx)("br", {}), "your new Pixel Account"] }), (0, jsx_runtime_1.jsx)(react_1.HStack, { spacing: 3, mb: 6, children: (0, jsx_runtime_1.jsx)(react_1.PinInput, { placeholder: placeholder, onChange: onChange, onComplete: onComplete, isDisabled: isDisabled, isInvalid: isInvalid, size: "lg", focusBorderColor: theme.colors.primary[500], children: Array.from({ length: pins }).map((_, index) => ((0, jsx_runtime_1.jsx)(react_1.PinInputField, { borderRadius: "md", border: "0.063rem solid", borderColor: theme.colors.boxborder[500], backgroundColor: theme.colors.background[200], _focus: {
|
|
15
12
|
borderColor: theme.colors.primary[500],
|
|
16
13
|
boxShadow: `0 0 0 0.063rem ${theme.colors.primary[500]}`,
|
|
17
14
|
} }, index))) }) }), (0, jsx_runtime_1.jsx)(react_1.Flex, { justify: "center", children: (0, jsx_runtime_1.jsxs)(react_1.Text, { fontSize: "sm", color: theme.colors.gray[600], children: ["Didn\u2019t receive the code?", " ", (0, jsx_runtime_1.jsx)(react_1.Button, { variant: "link", color: theme.colors.accentText, fontWeight: "semibold", onClick: resendMail, children: "Resend Code" })] }) })] }));
|