pixelize-design-library 2.4.2-beta.42 → 2.4.2-beta.44
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/CHANGELOG.md +130 -0
- package/COMPONENT-GOTCHAS.md +413 -240
- package/DESIGN-GUIDE.md +210 -0
- package/README.md +51 -26
- package/dist/Components/Accordion/Accordion.js +7 -9
- package/dist/Components/Accordion/accordionColors.d.ts +6 -0
- package/dist/Components/Accordion/accordionColors.js +11 -11
- package/dist/Components/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/Components/AlertDialog/AlertDialog.js +5 -5
- package/dist/Components/AlertDialog/AlertDialogProps.d.ts +27 -4
- package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +6 -2
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +7 -4
- package/dist/Components/Apexcharts/ApexChartFallback.d.ts +7 -0
- package/dist/Components/Apexcharts/ApexChartFallback.js +10 -0
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +6 -2
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +6 -2
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +8 -5
- package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +6 -4
- package/dist/Components/Apexcharts/LazyReactApexChart.d.ts +2 -0
- package/dist/Components/Apexcharts/LazyReactApexChart.js +40 -0
- package/dist/Components/AppSwitcher/AppMark.d.ts +0 -5
- package/dist/Components/AppSwitcher/AppMark.js +1 -5
- package/dist/Components/AppSwitcher/AppSwitcher.js +4 -9
- package/dist/Components/Avatar/Avatar.d.ts +3 -0
- package/dist/Components/Avatar/Avatar.js +24 -0
- package/dist/Components/Avatar/AvatarGroup.d.ts +3 -0
- package/dist/Components/Avatar/AvatarGroup.js +24 -0
- package/dist/Components/Avatar/AvatarGroupProps.d.ts +19 -0
- package/dist/Components/Avatar/AvatarProps.d.ts +22 -0
- package/dist/Components/Avatar/AvatarProps.js +2 -0
- package/dist/Components/Avatar/avatarColorway.d.ts +11 -0
- package/dist/Components/Avatar/avatarColorway.js +31 -0
- package/dist/Components/Avatar/avatarSizing.d.ts +5 -0
- package/dist/Components/Avatar/avatarSizing.js +15 -0
- package/dist/Components/Backdrop/Backdrop.d.ts +3 -0
- package/dist/Components/Backdrop/Backdrop.js +34 -0
- package/dist/Components/Backdrop/BackdropProps.d.ts +33 -0
- package/dist/Components/Backdrop/BackdropProps.js +2 -0
- package/dist/Components/Breadcrumbs/Breadcrumbs.js +14 -4
- package/dist/Components/Breadcrumbs/breadcrumbInk.d.ts +9 -0
- package/dist/Components/Breadcrumbs/breadcrumbInk.js +11 -0
- package/dist/Components/Button/Button.js +2 -2
- package/dist/Components/Button/Button.styles.js +21 -62
- package/dist/Components/Button/ButtonProps.d.ts +8 -2
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +2 -42
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.js +16 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +1 -1
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +3 -10
- package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.d.ts +42 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.js +2 -0
- package/dist/Components/Buttons/Buttons.d.ts +1 -1
- package/dist/Components/Buttons/Buttons.js +5 -3
- package/dist/Components/Buttons/ButtonsProps.d.ts +5 -1
- package/dist/Components/Card/Card.d.ts +18 -2
- package/dist/Components/Card/Card.js +10 -5
- package/dist/Components/Card/CardProps.d.ts +27 -9
- package/dist/Components/Card/PaymentCard/PaymentCard.js +13 -9
- package/dist/Components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/Components/Checkbox/Checkbox.js +11 -9
- package/dist/Components/Checkbox/Checkbox.styles.js +41 -36
- package/dist/Components/Checkbox/CheckboxProps.d.ts +11 -2
- package/dist/Components/Common/ErrorComponent.d.ts +1 -1
- package/dist/Components/Common/ErrorComponent.js +1 -1
- package/dist/Components/Common/ErrorMessage.d.ts +1 -1
- package/dist/Components/Common/ErrorMessage.js +3 -3
- package/dist/Components/Common/FieldMessage.d.ts +9 -0
- package/dist/Components/Common/FieldMessage.js +19 -0
- package/dist/Components/Common/FormLabel.d.ts +9 -0
- package/dist/Components/Common/FormLabel.js +15 -9
- package/dist/Components/Common/HelperText.d.ts +1 -1
- package/dist/Components/Common/HelperText.js +3 -2
- package/dist/Components/Common/Label.d.ts +1 -1
- package/dist/Components/Common/Label.js +3 -2
- package/dist/Components/Common/fieldMessageStyles.d.ts +19 -0
- package/dist/Components/Common/fieldMessageStyles.js +18 -0
- package/dist/Components/Common/fieldStyles.d.ts +46 -9
- package/dist/Components/Common/fieldStyles.js +72 -30
- package/dist/Components/Common/useFieldIds.d.ts +16 -0
- package/dist/Components/Common/useFieldIds.js +27 -0
- package/dist/Components/ConfirmDialog/ConfirmDialog.d.ts +4 -0
- package/dist/Components/ConfirmDialog/ConfirmDialog.js +23 -0
- package/dist/Components/ConfirmDialog/ConfirmDialogProps.d.ts +45 -0
- package/dist/Components/ConfirmDialog/ConfirmDialogProps.js +2 -0
- package/dist/Components/ContactForm/ContactForm.d.ts +2 -2
- package/dist/Components/ContactForm/ContactForm.js +19 -15
- package/dist/Components/ContactForm/ContactFormProps.d.ts +16 -2
- package/dist/Components/CopyButton/CopyButton.js +3 -4
- package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
- package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -4
- package/dist/Components/DatePicker/CalendarPanel.js +3 -4
- package/dist/Components/DatePicker/DatePicker.d.ts +5 -3
- package/dist/Components/DatePicker/DatePicker.js +12 -50
- package/dist/Components/DatePicker/DatePickerProps.d.ts +48 -4
- package/dist/Components/DatePicker/DatePickerProps.js +3 -0
- package/dist/Components/DatePicker/RangeDatePicker.js +17 -21
- package/dist/Components/DatePicker/SingleDatePicker.d.ts +4 -2
- package/dist/Components/DatePicker/SingleDatePicker.js +40 -57
- package/dist/Components/DatePicker/ThemeDatePicker.d.ts +3 -2
- package/dist/Components/DatePicker/ThemeDatePicker.js +12 -18
- package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +5 -3
- package/dist/Components/DatePicker/TimeOnlyPicker.js +37 -23
- package/dist/Components/DatePicker/TimePicker.js +8 -12
- package/dist/Components/DatePicker/TimePickerInput.d.ts +6 -2
- package/dist/Components/DatePicker/TimePickerInput.js +5 -11
- package/dist/Components/DatePicker/dayStates.d.ts +0 -23
- package/dist/Components/DatePicker/dayStates.js +3 -15
- package/dist/Components/DatePicker/pickerField.d.ts +24 -0
- package/dist/Components/DatePicker/pickerField.js +31 -0
- package/dist/Components/DatePicker/valueFormat.d.ts +4 -0
- package/dist/Components/DatePicker/valueFormat.js +21 -0
- package/dist/Components/DescriptionList/DescriptionList.d.ts +4 -0
- package/dist/Components/DescriptionList/DescriptionList.js +32 -0
- package/dist/Components/DescriptionList/DescriptionListProps.d.ts +29 -0
- package/dist/Components/DescriptionList/DescriptionListProps.js +2 -0
- package/dist/Components/Drawer/Drawer.d.ts +5 -11
- package/dist/Components/Drawer/Drawer.js +22 -8
- package/dist/Components/Drawer/DrawerProps.d.ts +16 -4
- package/dist/Components/Dropdown/DropDown.d.ts +1 -1
- package/dist/Components/Dropdown/DropDown.js +42 -32
- package/dist/Components/Dropdown/DropdownProps.d.ts +15 -2
- package/dist/Components/Editor/Editor.js +12 -0
- package/dist/Components/Editor/joditAccessibility.d.ts +1 -0
- package/dist/Components/Editor/joditAccessibility.js +28 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +1 -1
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +1 -1
- package/dist/Components/EmptyState/EmptyState.js +24 -15
- package/dist/Components/EmptyState/EmptyStateProps.d.ts +5 -1
- package/dist/Components/FeedbackForm/FeedbackForm.d.ts +1 -1
- package/dist/Components/FeedbackForm/FeedbackForm.js +19 -6
- package/dist/Components/FieldSelectModal/FieldSelectModal.js +2 -4
- package/dist/Components/FilePreview/FilePreview.js +8 -8
- package/dist/Components/FileUpload/FileUpload.d.ts +1 -1
- package/dist/Components/FileUpload/FileUpload.js +24 -5
- package/dist/Components/FileUpload/FileUploadProps.d.ts +23 -1
- package/dist/Components/FileUpload/constants.d.ts +1 -0
- package/dist/Components/FileUpload/constants.js +2 -1
- package/dist/Components/FileUploader/FileUploader.js +6 -5
- package/dist/Components/FilterBar/FilterBar.d.ts +4 -0
- package/dist/Components/FilterBar/FilterBar.js +17 -0
- package/dist/Components/FilterBar/FilterBarProps.d.ts +25 -0
- package/dist/Components/FilterBar/FilterBarProps.js +2 -0
- package/dist/Components/FilterSidebar/FilterSidebar.js +26 -32
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +1 -1
- package/dist/Components/FilterSidebar/filterHoverStyle.js +1 -1
- package/dist/Components/Form/FormWrapper.js +1 -1
- package/dist/Components/Header/Header.d.ts +0 -15
- package/dist/Components/Header/Header.js +2 -16
- package/dist/Components/Header/HeaderActions.d.ts +2 -0
- package/dist/Components/Header/HeaderActions.js +4 -4
- package/dist/Components/Header/HeaderProps.d.ts +14 -1
- package/dist/Components/Header/components/desktopMenu.d.ts +1 -1
- package/dist/Components/Header/components/desktopMenu.js +10 -11
- package/dist/Components/Header/components/mobileMenu.d.ts +1 -1
- package/dist/Components/Header/components/mobileMenu.js +23 -20
- package/dist/Components/Input/Input/Input.d.ts +1 -1
- package/dist/Components/Input/Input/Input.js +3 -2
- package/dist/Components/Input/Input/InputProps.d.ts +4 -1
- package/dist/Components/Input/PhoneNumberInput.d.ts +2 -2
- package/dist/Components/Input/PhoneNumberInput.js +7 -4
- package/dist/Components/Input/PhoneNumberInputProps.d.ts +4 -2
- package/dist/Components/Input/Switch/InputSwitch.d.ts +16 -5
- package/dist/Components/Input/Switch/InputSwitch.js +17 -19
- package/dist/Components/Input/TextInput.js +80 -7
- package/dist/Components/Input/TextInput.styles.d.ts +18 -1
- package/dist/Components/Input/TextInput.styles.js +48 -89
- package/dist/Components/Input/TextInputProps.d.ts +44 -9
- package/dist/Components/Input/textInputIconSize.d.ts +2 -7
- package/dist/Components/Input/textInputIconSize.js +4 -20
- package/dist/Components/Input/useAriaRequired.d.ts +2 -0
- package/dist/Components/Input/useAriaRequired.js +19 -0
- package/dist/Components/InputTextArea/InputTextArea.d.ts +2 -2
- package/dist/Components/InputTextArea/InputTextArea.js +9 -5
- package/dist/Components/InputTextArea/InputTextArea.style.js +14 -69
- package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +9 -2
- package/dist/Components/KanbanBoard/AccountCard.js +8 -5
- package/dist/Components/KanbanBoard/AccountRow.d.ts +1 -1
- package/dist/Components/KanbanBoard/AccountRow.js +1 -1
- package/dist/Components/KanbanBoard/KanbanBoard.d.ts +1 -1
- package/dist/Components/KanbanBoard/KanbanBoard.js +85 -49
- package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +35 -19
- package/dist/Components/KanbanBoard/index.d.ts +2 -0
- package/dist/Components/KanbanBoard/index.js +8 -0
- package/dist/Components/LimitReachedModal/LimitReachedModal.js +1 -1
- package/dist/Components/LimitReachedModal/limitReachedCopy.js +1 -3
- package/dist/Components/Loading/Loading.d.ts +1 -1
- package/dist/Components/Loading/Loading.js +19 -19
- package/dist/Components/Loading/LoadingProps.d.ts +5 -1
- package/dist/Components/MediaViewer/MediaViewer.d.ts +5 -0
- package/dist/Components/MediaViewer/MediaViewer.js +234 -0
- package/dist/Components/MediaViewer/MediaViewerProps.d.ts +92 -0
- package/dist/Components/MediaViewer/MediaViewerProps.js +32 -0
- package/dist/Components/MediaViewer/components/MediaAudioPlayer.d.ts +4 -0
- package/dist/Components/MediaViewer/components/MediaAudioPlayer.js +138 -0
- package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.d.ts +48 -0
- package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.js +21 -0
- package/dist/Components/MediaViewer/components/MediaDocumentStage.d.ts +4 -0
- package/dist/Components/MediaViewer/components/MediaDocumentStage.js +149 -0
- package/dist/Components/MediaViewer/components/MediaDocumentStageProps.d.ts +42 -0
- package/dist/Components/MediaViewer/components/MediaDocumentStageProps.js +11 -0
- package/dist/Components/MediaViewer/components/MediaImageViewer.d.ts +4 -0
- package/dist/Components/MediaViewer/components/MediaImageViewer.js +103 -0
- package/dist/Components/MediaViewer/components/MediaImageViewerProps.d.ts +47 -0
- package/dist/Components/MediaViewer/components/MediaImageViewerProps.js +18 -0
- package/dist/Components/MediaViewer/components/MediaScrubber.d.ts +5 -0
- package/dist/Components/MediaViewer/components/MediaScrubber.js +89 -0
- package/dist/Components/MediaViewer/components/MediaScrubberProps.d.ts +30 -0
- package/dist/Components/MediaViewer/components/MediaScrubberProps.js +2 -0
- package/dist/Components/MediaViewer/components/MediaStatusPanel.d.ts +5 -0
- package/dist/Components/MediaViewer/components/MediaStatusPanel.js +14 -0
- package/dist/Components/MediaViewer/components/MediaStatusPanelProps.d.ts +24 -0
- package/dist/Components/MediaViewer/components/MediaStatusPanelProps.js +2 -0
- package/dist/Components/MediaViewer/components/MediaVideoPlayer.d.ts +4 -0
- package/dist/Components/MediaViewer/components/MediaVideoPlayer.js +248 -0
- package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.d.ts +71 -0
- package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.js +31 -0
- package/dist/Components/MediaViewer/components/TileChip.d.ts +5 -0
- package/dist/Components/MediaViewer/components/TileChip.js +12 -0
- package/dist/Components/MediaViewer/components/TileChipProps.d.ts +7 -0
- package/dist/Components/MediaViewer/components/TileChipProps.js +2 -0
- package/dist/Components/MediaViewer/components/VideoPoster.d.ts +5 -0
- package/dist/Components/MediaViewer/components/VideoPoster.js +16 -0
- package/dist/Components/MediaViewer/components/VideoPosterProps.d.ts +6 -0
- package/dist/Components/MediaViewer/components/VideoPosterProps.js +2 -0
- package/dist/Components/MediaViewer/components/ViewerIconButton.d.ts +5 -0
- package/dist/Components/MediaViewer/components/ViewerIconButton.js +20 -0
- package/dist/Components/MediaViewer/components/ViewerIconButtonProps.d.ts +24 -0
- package/dist/Components/MediaViewer/components/ViewerIconButtonProps.js +2 -0
- package/dist/Components/MediaViewer/components/mediaKindIcon.d.ts +5 -0
- package/dist/Components/MediaViewer/components/mediaKindIcon.js +23 -0
- package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.d.ts +1 -0
- package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.js +30 -0
- package/dist/Components/MediaViewer/hooks/useAutoHideChrome.d.ts +15 -0
- package/dist/Components/MediaViewer/hooks/useAutoHideChrome.js +43 -0
- package/dist/Components/MediaViewer/hooks/useFileViewer.d.ts +18 -0
- package/dist/Components/MediaViewer/hooks/useFileViewer.js +51 -0
- package/dist/Components/MediaViewer/mediaItems.d.ts +64 -0
- package/dist/Components/MediaViewer/mediaItems.js +196 -0
- package/dist/Components/MediaViewer/useViewerChrome.d.ts +15 -0
- package/dist/Components/MediaViewer/useViewerChrome.js +30 -0
- package/dist/Components/Modal/Modal.d.ts +5 -11
- package/dist/Components/Modal/Modal.js +24 -18
- package/dist/Components/Modal/ModalProps.d.ts +19 -4
- package/dist/Components/MoreItems/MoreItems.js +4 -2
- package/dist/Components/MultiSelect/MultiSelect.js +19 -18
- package/dist/Components/MultiSelect/MultiSelectProps.d.ts +11 -3
- package/dist/Components/NavigationBar/NavigationBar.js +10 -8
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts +4 -2
- package/dist/Components/NoteTextArea/NoteTextArea.js +13 -9
- package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +4 -2
- package/dist/Components/Notification/Notification.d.ts +1 -1
- package/dist/Components/Notification/Notification.js +10 -3
- package/dist/Components/Notification/NotificationProps.d.ts +1 -1
- package/dist/Components/NotificationBell/NotificationBell.d.ts +4 -0
- package/dist/Components/NotificationBell/NotificationBell.js +35 -0
- package/dist/Components/NotificationBell/NotificationBellProps.d.ts +147 -0
- package/dist/Components/NotificationBell/NotificationBellProps.js +2 -0
- package/dist/Components/NotificationBell/NotificationItem.d.ts +4 -0
- package/dist/Components/NotificationBell/NotificationItem.js +34 -0
- package/dist/Components/NotificationBell/NotificationList.d.ts +4 -0
- package/dist/Components/NotificationBell/NotificationList.js +41 -0
- package/dist/Components/NotificationBell/NotificationPanel.d.ts +4 -0
- package/dist/Components/NotificationBell/NotificationPanel.js +36 -0
- package/dist/Components/NotificationBell/index.d.ts +6 -0
- package/dist/Components/NotificationBell/index.js +30 -0
- package/dist/Components/NotificationBell/notificationHelpers.d.ts +29 -0
- package/dist/Components/NotificationBell/notificationHelpers.js +106 -0
- package/dist/Components/NumberInput/NumberInput.d.ts +6 -2
- package/dist/Components/NumberInput/NumberInput.js +9 -5
- package/dist/Components/NumberInput/NumberInput.styles.js +19 -78
- package/dist/Components/NumberInput/NumberInputProps.d.ts +20 -1
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +4 -12
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +1 -1
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +2 -1
- package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -1
- package/dist/Components/OrganizationDetails/DeleteOrgModal.js +4 -6
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +8 -7
- package/dist/Components/PageHeader/PageHeader.d.ts +4 -0
- package/dist/Components/PageHeader/PageHeader.js +11 -0
- package/dist/Components/PageHeader/PageHeaderProps.d.ts +20 -0
- package/dist/Components/PageHeader/PageHeaderProps.js +2 -0
- package/dist/Components/PdfViewer/PdfViewer.js +1 -1
- package/dist/Components/PersonChip/PersonChip.d.ts +3 -0
- package/dist/Components/PersonChip/PersonChip.js +47 -0
- package/dist/Components/PersonChip/PersonChipProps.d.ts +33 -0
- package/dist/Components/PersonChip/PersonChipProps.js +2 -0
- package/dist/Components/PinInput/PinInput.d.ts +2 -2
- package/dist/Components/PinInput/PinInput.js +10 -7
- package/dist/Components/PinInput/PinInputProps.d.ts +3 -2
- package/dist/Components/PinInput/pinInputCellSize.d.ts +7 -0
- package/dist/Components/PinInput/pinInputCellSize.js +10 -0
- package/dist/Components/PlanBadge/PlanBadge.d.ts +0 -7
- package/dist/Components/PlanBadge/PlanBadge.js +1 -7
- package/dist/Components/PlanPill/PlanPill.js +2 -3
- package/dist/Components/PlanPill/planPillGradient.d.ts +5 -21
- package/dist/Components/PlanPill/planPillGradient.js +8 -23
- package/dist/Components/Primitives/Primitives.d.ts +3 -6
- package/dist/Components/Primitives/Primitives.js +3 -41
- package/dist/Components/ProductCard/ProductPrice.js +18 -7
- package/dist/Components/ProductCard/ProductReview.js +3 -2
- package/dist/Components/ProductDetails/ProductDetails.js +1 -1
- package/dist/Components/ProductDetails/ProductDtlPrice.js +5 -5
- package/dist/Components/ProductDetails/ProductImageSlider.d.ts +3 -1
- package/dist/Components/ProductDetails/ProductImageSlider.js +36 -20
- package/dist/Components/ProfileCard/ProfileCard.d.ts +4 -10
- package/dist/Components/ProfileCard/ProfileCard.js +25 -10
- package/dist/Components/ProfileCard/ProfileCardProps.d.ts +8 -2
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +7 -4
- package/dist/Components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/Components/ProgressBar/ProgressBar.js +27 -3
- package/dist/Components/ProgressBar/ProgressBarProps.d.ts +10 -4
- package/dist/Components/QueryState/ErrorState.d.ts +4 -0
- package/dist/Components/QueryState/ErrorState.js +16 -0
- package/dist/Components/QueryState/QueryStateBoundary.d.ts +4 -0
- package/dist/Components/QueryState/QueryStateBoundary.js +25 -0
- package/dist/Components/QueryState/QueryStateProps.d.ts +48 -0
- package/dist/Components/QueryState/QueryStateProps.js +2 -0
- package/dist/Components/RadioButton/RadioButton.d.ts +2 -2
- package/dist/Components/RadioButton/RadioButton.js +34 -14
- package/dist/Components/RadioButton/RadioButtonProps.d.ts +50 -6
- package/dist/Components/RangeSlider/RangeSlider.d.ts +4 -0
- package/dist/Components/RangeSlider/RangeSlider.js +136 -0
- package/dist/Components/RangeSlider/RangeSliderProps.d.ts +74 -0
- package/dist/Components/RangeSlider/RangeSliderProps.js +2 -0
- package/dist/Components/RangeSlider/rangeSliderColors.d.ts +9 -0
- package/dist/Components/RangeSlider/rangeSliderColors.js +11 -0
- package/dist/Components/RangeSlider/rangeSliderMath.d.ts +16 -0
- package/dist/Components/RangeSlider/rangeSliderMath.js +79 -0
- package/dist/Components/RangeSlider/rangeSliderSize.d.ts +7 -0
- package/dist/Components/RangeSlider/rangeSliderSize.js +12 -0
- package/dist/Components/Reorder/Reorder.d.ts +1 -6
- package/dist/Components/Reorder/Reorder.js +2 -2
- package/dist/Components/Reorder/ReorderProps.d.ts +5 -2
- package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -6
- package/dist/Components/RolesPermission/RolesPermission.js +1 -1
- package/dist/Components/SaveBar/SaveBar.d.ts +4 -0
- package/dist/Components/SaveBar/SaveBar.js +24 -0
- package/dist/Components/SaveBar/SaveBarProps.d.ts +22 -0
- package/dist/Components/SaveBar/SaveBarProps.js +2 -0
- package/dist/Components/ScrollToTop/ScrollToTop.js +5 -2
- package/dist/Components/Search/Search.d.ts +3 -2
- package/dist/Components/Search/Search.js +33 -15
- package/dist/Components/Search/SearchProps.d.ts +26 -4
- package/dist/Components/SearchSelect/SearchSelect.d.ts +2 -1
- package/dist/Components/SearchSelect/SearchSelect.js +61 -75
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +27 -3
- package/dist/Components/SearchSelect/searchSelectSize.d.ts +4 -14
- package/dist/Components/SearchSelect/searchSelectSize.js +15 -15
- package/dist/Components/SegmentedControl/SegmentedControl.js +39 -32
- package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +10 -2
- package/dist/Components/SegmentedControl/useSlidingPill.d.ts +11 -0
- package/dist/Components/SegmentedControl/useSlidingPill.js +25 -0
- package/dist/Components/Select/Select.d.ts +5 -2
- package/dist/Components/Select/Select.js +65 -24
- package/dist/Components/Select/Select.styles.js +12 -81
- package/dist/Components/Select/SelectNative.d.ts +63 -0
- package/dist/Components/Select/SelectNative.js +49 -0
- package/dist/Components/Select/SelectPopup.d.ts +5 -0
- package/dist/Components/Select/SelectPopup.js +415 -0
- package/dist/Components/Select/SelectProps.d.ts +122 -16
- package/dist/Components/SelectSearch/SelectSearch.d.ts +2 -2
- package/dist/Components/SelectSearch/SelectSearch.js +16 -78
- package/dist/Components/SelectSearch/SelectSearchProps.d.ts +31 -2
- package/dist/Components/SelectV2/SelectV2.d.ts +15 -3
- package/dist/Components/SelectV2/SelectV2.js +17 -264
- package/dist/Components/SelectV2/SelectV2Props.d.ts +39 -13
- package/dist/Components/SettingRow/SettingRow.d.ts +4 -0
- package/dist/Components/SettingRow/SettingRow.js +24 -0
- package/dist/Components/SettingRow/SettingRowProps.d.ts +16 -0
- package/dist/Components/SettingRow/SettingRowProps.js +2 -0
- package/dist/Components/SettingRow/SettingsSection.d.ts +4 -0
- package/dist/Components/SettingRow/SettingsSection.js +16 -0
- package/dist/Components/SettingRow/SettingsSectionProps.d.ts +18 -0
- package/dist/Components/SettingRow/SettingsSectionProps.js +2 -0
- package/dist/Components/SideBar/SecondaryBar.js +19 -9
- package/dist/Components/SideBar/SideBar.js +35 -20
- package/dist/Components/SideBar/SideBarProps.d.ts +8 -1
- package/dist/Components/SideBar/components/MenuItemBox.d.ts +2 -0
- package/dist/Components/SideBar/components/MenuItemBox.js +43 -28
- package/dist/Components/SideBar/components/MenuItems.js +4 -4
- package/dist/Components/SideBar/components/MenuPopoverContent.js +20 -10
- package/dist/Components/SideBar/components/OtherApps.js +3 -3
- package/dist/Components/SideBar/components/OverflowTooltipText.js +3 -1
- package/dist/Components/SideBar/components/TextTruncation.js +3 -3
- package/dist/Components/SideBar/menuDisabled.d.ts +5 -0
- package/dist/Components/SideBar/menuDisabled.js +7 -0
- package/dist/Components/SideBar/sidebarId.d.ts +2 -0
- package/dist/Components/SideBar/sidebarId.js +6 -0
- package/dist/Components/Skeletons/SkeletonProps.d.ts +4 -2
- package/dist/Components/Skeletons/Skeletons.d.ts +1 -1
- package/dist/Components/Skeletons/Skeletons.js +2 -2
- package/dist/Components/Slider/Slider.js +2 -1
- package/dist/Components/Spinner/Spinner.d.ts +3 -0
- package/dist/Components/Spinner/Spinner.js +22 -0
- package/dist/Components/Spinner/SpinnerProps.d.ts +15 -0
- package/dist/Components/Spinner/SpinnerProps.js +2 -0
- package/dist/Components/StageProgress/StageItem.js +12 -4
- package/dist/Components/StageProgress/StageProgress.js +6 -7
- package/dist/Components/StageProgress/StageProgressProps.d.ts +9 -3
- package/dist/Components/StageProgress/StageProgressProps.js +6 -2
- package/dist/Components/StageProgress/StepperStage.js +5 -2
- package/dist/Components/StatCard/StatCard.d.ts +4 -0
- package/dist/Components/StatCard/StatCard.js +42 -0
- package/dist/Components/StatCard/StatCardProps.d.ts +26 -0
- package/dist/Components/StatCard/StatCardProps.js +2 -0
- package/dist/Components/Switch/Switch.d.ts +2 -2
- package/dist/Components/Switch/Switch.js +11 -9
- package/dist/Components/Switch/SwitchProps.d.ts +5 -1
- package/dist/Components/Table/Table.d.ts +1 -1
- package/dist/Components/Table/Table.js +56 -49
- package/dist/Components/Table/TableProps.d.ts +46 -8
- package/dist/Components/Table/components/HeaderActions.js +3 -2
- package/dist/Components/Table/components/Pagination.d.ts +1 -1
- package/dist/Components/Table/components/Pagination.js +1 -1
- package/dist/Components/Table/components/TableActions.js +1 -1
- package/dist/Components/Table/components/TableBody.d.ts +1 -1
- package/dist/Components/Table/components/TableBody.js +33 -41
- package/dist/Components/Table/components/TableGroupRow.js +1 -1
- package/dist/Components/Table/components/TableHeader.d.ts +1 -1
- package/dist/Components/Table/components/TableHeader.js +14 -12
- package/dist/Components/Table/components/TableSearch.js +1 -1
- package/dist/Components/Table/components/rowMetrics.d.ts +11 -0
- package/dist/Components/Table/components/rowMetrics.js +16 -0
- package/dist/Components/Table/filters/ActiveFilters.js +7 -4
- package/dist/Components/Table/filters/CompactSelect.js +1 -1
- package/dist/Components/Table/filters/LeftFilterPane.js +1 -1
- package/dist/Components/Table/filters/TableFilters.js +1 -1
- package/dist/Components/Table/hooks/useTable.d.ts +1 -10
- package/dist/Components/Table/hooks/useTable.js +14 -23
- package/dist/Components/Table/settings/ManageColumns.js +7 -6
- package/dist/Components/Table/settings/TableSettings.js +5 -4
- package/dist/Components/Table/variants/classic.js +2 -0
- package/dist/Components/Table/variants/stripe.d.ts +3 -0
- package/dist/Components/Table/variants/stripe.js +7 -0
- package/dist/Components/Table/variants/studio.js +2 -0
- package/dist/Components/Table/variants/tokens.d.ts +2 -0
- package/dist/Components/Tabs/Tabs.d.ts +3 -0
- package/dist/Components/Tabs/Tabs.js +70 -0
- package/dist/Components/Tabs/TabsContext.d.ts +22 -0
- package/dist/Components/Tabs/TabsContext.js +16 -0
- package/dist/Components/Tabs/TabsProps.d.ts +74 -0
- package/dist/Components/Tabs/TabsProps.js +2 -0
- package/dist/Components/Tabs/components/CountBadge.d.ts +12 -0
- package/dist/Components/Tabs/components/CountBadge.js +17 -0
- package/dist/Components/Tabs/components/Tab.d.ts +3 -0
- package/dist/Components/Tabs/components/Tab.js +39 -0
- package/dist/Components/Tabs/components/TabList.d.ts +3 -0
- package/dist/Components/Tabs/components/TabList.js +71 -0
- package/dist/Components/Tabs/components/TabPanel.d.ts +3 -0
- package/dist/Components/Tabs/components/TabPanel.js +17 -0
- package/dist/Components/Tabs/components/TabPanels.d.ts +3 -0
- package/dist/Components/Tabs/components/TabPanels.js +14 -0
- package/dist/Components/Tabs/index.d.ts +6 -0
- package/dist/Components/Tabs/index.js +16 -0
- package/dist/Components/Tabs/tabStyles.d.ts +15 -0
- package/dist/Components/Tabs/tabStyles.js +38 -0
- package/dist/Components/Tag/Tag.js +14 -6
- package/dist/Components/Tag/Tag.styles.d.ts +2 -0
- package/dist/Components/Tag/Tag.styles.js +44 -37
- package/dist/Components/Tag/TagProps.d.ts +17 -4
- package/dist/Components/Timeline/Timeline.d.ts +1 -1
- package/dist/Components/Timeline/Timeline.js +42 -30
- package/dist/Components/Timeline/TimelineProps.d.ts +25 -2
- package/dist/Components/Toaster/Toaster.js +73 -55
- package/dist/Components/Toaster/ToasterProps.d.ts +18 -5
- package/dist/Components/Toaster/toastDuration.d.ts +4 -0
- package/dist/Components/Toaster/toastDuration.js +7 -0
- package/dist/Components/Toggle/TableToggle.d.ts +1 -1
- package/dist/Components/Toggle/TableToggle.js +10 -25
- package/dist/Components/Toggle/TableToggleProps.d.ts +3 -2
- package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +2 -2
- package/dist/Components/ToggleSwitch/ToggleSwitch.js +41 -7
- package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +63 -8
- package/dist/Components/ToolTip/OverflowToolTip.d.ts +0 -15
- package/dist/Components/ToolTip/OverflowToolTip.js +1 -15
- package/dist/Components/ToolTip/ToolTip.js +13 -13
- package/dist/Components/ToolTip/ToolTipProps.d.ts +5 -2
- package/dist/Components/UpgradeButton/UpgradeButton.js +9 -14
- package/dist/Components/UserDetails/AddUserModal.js +1 -1
- package/dist/Components/UserDetails/ChangeRoleModal.js +1 -1
- package/dist/Components/UserDetails/DeactivateConfirmModal.js +4 -6
- package/dist/Components/UserDetails/UserDetails.js +6 -8
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts +0 -13
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -14
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +0 -11
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +6 -23
- package/dist/Constants/Sidebar.d.ts +2 -38
- package/dist/Constants/Sidebar.js +1 -16
- package/dist/Hooks/useDebounce.d.ts +6 -0
- package/dist/Hooks/useDebounce.js +33 -0
- package/dist/Hooks/useExclusiveOverlay.d.ts +0 -4
- package/dist/Hooks/useExclusiveOverlay.js +1 -4
- package/dist/Hooks/useFullscreen.d.ts +8 -0
- package/dist/Hooks/useFullscreen.js +32 -0
- package/dist/Hooks/useIsTruncated.d.ts +0 -30
- package/dist/Hooks/useIsTruncated.js +1 -30
- package/dist/Hooks/usePreferences.js +1 -6
- package/dist/Hooks/useSidebarPrefs.d.ts +1 -42
- package/dist/Hooks/useSidebarPrefs.js +1 -2
- package/dist/Theme/assertPalette.d.ts +1 -1
- package/dist/Theme/assertPalette.js +2 -2
- package/dist/Theme/chakra/Card.styles.d.ts +78 -0
- package/dist/Theme/chakra/Card.styles.js +48 -0
- package/dist/Theme/chakra/Drawer.styles.d.ts +41 -9
- package/dist/Theme/chakra/Drawer.styles.js +14 -13
- package/dist/Theme/chakra/Menu.styles.d.ts +3 -18
- package/dist/Theme/chakra/Menu.styles.js +2 -23
- package/dist/Theme/chakra/Modal.styles.d.ts +42 -9
- package/dist/Theme/chakra/Modal.styles.js +15 -13
- package/dist/Theme/chakra/Popover.styles.d.ts +3 -3
- package/dist/Theme/chakra/Popover.styles.js +2 -10
- package/dist/Theme/chakra/Slider.styles.d.ts +3 -3
- package/dist/Theme/chakra/Slider.styles.js +1 -6
- package/dist/Theme/chakra/common.web.d.ts +0 -4
- package/dist/Theme/chakra/common.web.js +1 -7
- package/dist/Theme/chakra/componentStyles.d.ts +157 -103
- package/dist/Theme/chakra/componentStyles.js +66 -86
- package/dist/Theme/chakra/createBrandTheme.d.ts +0 -10
- package/dist/Theme/chakra/createBrandTheme.js +6 -50
- package/dist/Theme/chakra/focusRing.styles.d.ts +0 -23
- package/dist/Theme/chakra/focusRing.styles.js +4 -23
- package/dist/Theme/chakra/fonts.web.d.ts +0 -5
- package/dist/Theme/chakra/fonts.web.js +1 -5
- package/dist/Theme/chakra/motion.d.ts +5 -0
- package/dist/Theme/chakra/motion.js +27 -0
- package/dist/Theme/chakra/overlay.styles.d.ts +51 -0
- package/dist/Theme/chakra/overlay.styles.js +48 -0
- package/dist/Theme/chakra/paletteFromTheme.d.ts +0 -4
- package/dist/Theme/chakra/paletteFromTheme.js +1 -4
- package/dist/Theme/index.d.ts +0 -12
- package/dist/Theme/index.js +3 -18
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts +0 -32
- package/dist/Theme/provider/PixelizeThemeProvider.js +6 -74
- package/dist/Theme/provider/ThemeSwitcher.js +2 -10
- package/dist/Theme/provider/colorModeStorage.js +1 -4
- package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/emerald/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/emerald/palette.light.js +2 -10
- package/dist/Theme/tokens/brands/index.js +4 -4
- package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/lavender/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/lavender/palette.light.js +4 -13
- package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/meadow/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/meadow/palette.light.js +2 -11
- package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/radiant/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/radiant/palette.light.js +2 -10
- package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/rosewood/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/rosewood/palette.light.js +2 -14
- package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/skyline/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/skyline/palette.light.js +2 -11
- package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/slate/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/slate/palette.light.js +1 -11
- package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +0 -4
- package/dist/Theme/tokens/brands/storefront/palette.dark.js +0 -4
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +10 -9
- package/dist/Theme/tokens/brands/zinc/palette.dark.js +5 -35
- package/dist/Theme/tokens/brands/zinc/palette.light.js +3 -12
- package/dist/Theme/tokens/builders/accentText.d.ts +0 -43
- package/dist/Theme/tokens/builders/accentText.js +5 -48
- package/dist/Theme/tokens/builders/brandInk.d.ts +2 -0
- package/dist/Theme/tokens/builders/brandInk.js +19 -1
- package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +0 -3
- package/dist/Theme/tokens/builders/buildBrandTokens.js +1 -3
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +0 -12
- package/dist/Theme/tokens/builders/buildDarkPalette.js +15 -103
- package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +0 -8
- package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -8
- package/dist/Theme/tokens/builders/color.d.ts +0 -20
- package/dist/Theme/tokens/builders/color.js +3 -20
- package/dist/Theme/tokens/builders/filledSurface.d.ts +2 -12
- package/dist/Theme/tokens/builders/filledSurface.js +35 -25
- package/dist/Theme/tokens/builders/focusRing.d.ts +0 -45
- package/dist/Theme/tokens/builders/focusRing.js +5 -49
- package/dist/Theme/tokens/builders/gradientInk.d.ts +0 -10
- package/dist/Theme/tokens/builders/gradientInk.js +2 -10
- package/dist/Theme/tokens/builders/index.d.ts +4 -0
- package/dist/Theme/tokens/builders/index.js +4 -0
- package/dist/Theme/tokens/builders/outlineRung.d.ts +0 -66
- package/dist/Theme/tokens/builders/outlineRung.js +4 -70
- package/dist/Theme/tokens/builders/placeholderInk.d.ts +0 -12
- package/dist/Theme/tokens/builders/placeholderInk.js +2 -12
- package/dist/Theme/tokens/builders/resolvedRungs.d.ts +0 -5
- package/dist/Theme/tokens/builders/resolvedRungs.js +1 -5
- package/dist/Theme/tokens/builders/rowStates.d.ts +0 -6
- package/dist/Theme/tokens/builders/rowStates.js +4 -8
- package/dist/Theme/tokens/builders/scrim.d.ts +6 -0
- package/dist/Theme/tokens/builders/scrim.js +17 -0
- package/dist/Theme/tokens/builders/scrollbar.d.ts +0 -4
- package/dist/Theme/tokens/builders/scrollbar.js +1 -4
- package/dist/Theme/tokens/builders/semanticText.d.ts +0 -5
- package/dist/Theme/tokens/builders/semanticText.js +1 -5
- package/dist/Theme/tokens/builders/sidebarAccent.d.ts +8 -0
- package/dist/Theme/tokens/builders/sidebarAccent.js +15 -1
- package/dist/Theme/tokens/builders/statusTone.d.ts +1 -19
- package/dist/Theme/tokens/builders/statusTone.js +4 -19
- package/dist/Theme/tokens/builders/surfaceRaised.d.ts +6 -0
- package/dist/Theme/tokens/builders/surfaceRaised.js +21 -0
- package/dist/Theme/tokens/builders/surfaceRungs.d.ts +0 -4
- package/dist/Theme/tokens/builders/surfaceRungs.js +3 -9
- package/dist/Theme/tokens/builders/tone.d.ts +22 -0
- package/dist/Theme/tokens/builders/tone.js +54 -0
- package/dist/Theme/tokens/builders/tooltipSurface.d.ts +6 -0
- package/dist/Theme/tokens/builders/tooltipSurface.js +10 -0
- package/dist/Theme/tokens/builders/viewportHeight.d.ts +8 -0
- package/dist/Theme/tokens/builders/viewportHeight.js +9 -0
- package/dist/Theme/tokens/index.d.ts +0 -10
- package/dist/Theme/tokens/index.js +1 -10
- package/dist/Theme/tokens/primitives/controlSizes.d.ts +12 -0
- package/dist/Theme/tokens/primitives/controlSizes.js +14 -0
- package/dist/Theme/tokens/primitives/index.d.ts +2 -0
- package/dist/Theme/tokens/primitives/index.js +16 -0
- package/dist/Theme/tokens/primitives/motion.d.ts +8 -0
- package/dist/Theme/tokens/primitives/motion.js +12 -0
- package/dist/Theme/tokens/primitives/sizes.d.ts +0 -4
- package/dist/Theme/tokens/primitives/sizes.js +1 -4
- package/dist/Theme/tokens/primitives/typography.d.ts +0 -7
- package/dist/Theme/tokens/primitives/typography.js +1 -7
- package/dist/Theme/tokens/types.d.ts +8 -28
- package/dist/Theme/tokens/types.js +1 -6
- package/dist/Utils/accountHandoff.d.ts +0 -17
- package/dist/Utils/accountHandoff.js +2 -17
- package/dist/Utils/apiError.d.ts +2 -0
- package/dist/Utils/apiError.js +28 -0
- package/dist/Utils/functions.d.ts +1 -0
- package/dist/Utils/functions.js +6 -4
- package/dist/Utils/humanize.d.ts +4 -0
- package/dist/Utils/humanize.js +19 -0
- package/dist/Utils/lazyWithRetry.d.ts +9 -0
- package/dist/Utils/lazyWithRetry.js +51 -0
- package/dist/Utils/mergeRefs.d.ts +0 -5
- package/dist/Utils/mergeRefs.js +1 -5
- package/dist/Utils/planBadge.d.ts +1 -11
- package/dist/Utils/planBadge.js +2 -12
- package/dist/Utils/planExpiry.d.ts +0 -26
- package/dist/Utils/planExpiry.js +4 -29
- package/dist/Utils/rafThrottle.d.ts +0 -11
- package/dist/Utils/rafThrottle.js +1 -11
- package/dist/Utils/table.d.ts +2 -22
- package/dist/Utils/table.js +17 -87
- package/dist/Utils/validation.d.ts +13 -0
- package/dist/Utils/validation.js +86 -0
- package/dist/esm/Components/Accordion/Accordion.js +8 -10
- package/dist/esm/Components/Accordion/accordionColors.js +9 -10
- package/dist/esm/Components/AlertDialog/AlertDialog.js +3 -6
- package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +7 -3
- package/dist/esm/Components/Apexcharts/ApexBarChart/ApexBarChart.js +8 -5
- package/dist/esm/Components/Apexcharts/ApexChartFallback.js +5 -0
- package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +7 -3
- package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +7 -3
- package/dist/esm/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +9 -6
- package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +7 -5
- package/dist/esm/Components/Apexcharts/LazyReactApexChart.js +5 -0
- package/dist/esm/Components/AppSwitcher/AppMark.js +1 -5
- package/dist/esm/Components/AppSwitcher/AppSwitcher.js +4 -9
- package/dist/esm/Components/Avatar/Avatar.js +22 -0
- package/dist/esm/Components/Avatar/AvatarGroup.js +19 -0
- package/dist/esm/Components/Avatar/AvatarProps.js +1 -0
- package/dist/esm/Components/Avatar/avatarColorway.js +25 -0
- package/dist/esm/Components/Avatar/avatarSizing.js +12 -0
- package/dist/esm/Components/Backdrop/Backdrop.js +28 -0
- package/dist/esm/Components/Backdrop/BackdropProps.js +1 -0
- package/dist/esm/Components/Breadcrumbs/Breadcrumbs.js +15 -5
- package/dist/esm/Components/Breadcrumbs/breadcrumbInk.js +7 -0
- package/dist/esm/Components/Button/Button.js +2 -2
- package/dist/esm/Components/Button/Button.styles.js +21 -62
- package/dist/esm/Components/ButtonGroupIcon/ButtonGoupIconProps.js +2 -1
- package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +3 -10
- package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIconProps.js +1 -0
- package/dist/esm/Components/Buttons/Buttons.js +2 -3
- package/dist/esm/Components/Card/Card.js +11 -5
- package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +13 -9
- package/dist/esm/Components/Checkbox/Checkbox.js +11 -9
- package/dist/esm/Components/Checkbox/Checkbox.styles.js +42 -37
- package/dist/esm/Components/Common/ErrorComponent.js +1 -1
- package/dist/esm/Components/Common/ErrorMessage.js +5 -5
- package/dist/esm/Components/Common/FieldMessage.js +14 -0
- package/dist/esm/Components/Common/FormLabel.js +13 -8
- package/dist/esm/Components/Common/HelperText.js +3 -2
- package/dist/esm/Components/Common/Label.js +3 -2
- package/dist/esm/Components/Common/fieldMessageStyles.js +13 -0
- package/dist/esm/Components/Common/fieldStyles.js +66 -29
- package/dist/esm/Components/Common/useFieldIds.js +23 -0
- package/dist/esm/Components/ConfirmDialog/ConfirmDialog.js +18 -0
- package/dist/esm/Components/ConfirmDialog/ConfirmDialogProps.js +1 -0
- package/dist/esm/Components/ContactForm/ContactForm.js +19 -15
- package/dist/esm/Components/CopyButton/CopyButton.js +3 -4
- package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +4 -4
- package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +2 -4
- package/dist/esm/Components/DatePicker/CalendarPanel.js +3 -4
- package/dist/esm/Components/DatePicker/DatePicker.js +12 -49
- package/dist/esm/Components/DatePicker/DatePickerProps.js +1 -1
- package/dist/esm/Components/DatePicker/RangeDatePicker.js +17 -21
- package/dist/esm/Components/DatePicker/SingleDatePicker.js +37 -53
- package/dist/esm/Components/DatePicker/ThemeDatePicker.js +11 -18
- package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +35 -20
- package/dist/esm/Components/DatePicker/TimePicker.js +8 -12
- package/dist/esm/Components/DatePicker/TimePickerInput.js +5 -11
- package/dist/esm/Components/DatePicker/dayStates.js +3 -15
- package/dist/esm/Components/DatePicker/pickerField.js +24 -0
- package/dist/esm/Components/DatePicker/valueFormat.js +15 -0
- package/dist/esm/Components/DescriptionList/DescriptionList.js +27 -0
- package/dist/esm/Components/DescriptionList/DescriptionListProps.js +1 -0
- package/dist/esm/Components/Drawer/Drawer.js +22 -8
- package/dist/esm/Components/Dropdown/DropDown.js +43 -33
- package/dist/esm/Components/Editor/Editor.js +13 -1
- package/dist/esm/Components/Editor/joditAccessibility.js +24 -0
- package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
- package/dist/esm/Components/EmptyState/EmptyState.js +24 -15
- package/dist/esm/Components/FeedbackForm/FeedbackForm.js +17 -7
- package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +3 -5
- package/dist/esm/Components/FilePreview/FilePreview.js +8 -8
- package/dist/esm/Components/FileUpload/FileUpload.js +22 -6
- package/dist/esm/Components/FileUpload/constants.js +1 -0
- package/dist/esm/Components/FileUploader/FileUploader.js +6 -5
- package/dist/esm/Components/FilterBar/FilterBar.js +12 -0
- package/dist/esm/Components/FilterBar/FilterBarProps.js +1 -0
- package/dist/esm/Components/FilterSidebar/FilterSidebar.js +27 -33
- package/dist/esm/Components/FilterSidebar/filterHoverStyle.js +1 -1
- package/dist/esm/Components/Form/FormWrapper.js +1 -1
- package/dist/esm/Components/Header/Header.js +2 -16
- package/dist/esm/Components/Header/HeaderActions.js +4 -4
- package/dist/esm/Components/Header/components/desktopMenu.js +10 -11
- package/dist/esm/Components/Header/components/mobileMenu.js +23 -20
- package/dist/esm/Components/Input/Input/Input.js +3 -2
- package/dist/esm/Components/Input/PhoneNumberInput.js +8 -5
- package/dist/esm/Components/Input/Switch/InputSwitch.js +16 -21
- package/dist/esm/Components/Input/TextInput.js +83 -10
- package/dist/esm/Components/Input/TextInput.styles.js +42 -88
- package/dist/esm/Components/Input/textInputIconSize.js +4 -20
- package/dist/esm/Components/Input/useAriaRequired.js +15 -0
- package/dist/esm/Components/InputTextArea/InputTextArea.js +10 -6
- package/dist/esm/Components/InputTextArea/InputTextArea.style.js +14 -69
- package/dist/esm/Components/KanbanBoard/AccountCard.js +9 -6
- package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -1
- package/dist/esm/Components/KanbanBoard/KanbanBoard.js +86 -50
- package/dist/esm/Components/KanbanBoard/index.js +1 -0
- package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +2 -2
- package/dist/esm/Components/LimitReachedModal/limitReachedCopy.js +1 -3
- package/dist/esm/Components/Loading/Loading.js +16 -19
- package/dist/esm/Components/MediaViewer/MediaViewer.js +196 -0
- package/dist/esm/Components/MediaViewer/MediaViewerProps.js +29 -0
- package/dist/esm/Components/MediaViewer/components/MediaAudioPlayer.js +133 -0
- package/dist/esm/Components/MediaViewer/components/MediaAudioPlayerProps.js +18 -0
- package/dist/esm/Components/MediaViewer/components/MediaDocumentStage.js +109 -0
- package/dist/esm/Components/MediaViewer/components/MediaDocumentStageProps.js +8 -0
- package/dist/esm/Components/MediaViewer/components/MediaImageViewer.js +98 -0
- package/dist/esm/Components/MediaViewer/components/MediaImageViewerProps.js +15 -0
- package/dist/esm/Components/MediaViewer/components/MediaScrubber.js +87 -0
- package/dist/esm/Components/MediaViewer/components/MediaScrubberProps.js +1 -0
- package/dist/esm/Components/MediaViewer/components/MediaStatusPanel.js +12 -0
- package/dist/esm/Components/MediaViewer/components/MediaStatusPanelProps.js +1 -0
- package/dist/esm/Components/MediaViewer/components/MediaVideoPlayer.js +243 -0
- package/dist/esm/Components/MediaViewer/components/MediaVideoPlayerProps.js +28 -0
- package/dist/esm/Components/MediaViewer/components/TileChip.js +10 -0
- package/dist/esm/Components/MediaViewer/components/TileChipProps.js +1 -0
- package/dist/esm/Components/MediaViewer/components/VideoPoster.js +11 -0
- package/dist/esm/Components/MediaViewer/components/VideoPosterProps.js +1 -0
- package/dist/esm/Components/MediaViewer/components/ViewerIconButton.js +15 -0
- package/dist/esm/Components/MediaViewer/components/ViewerIconButtonProps.js +1 -0
- package/dist/esm/Components/MediaViewer/components/mediaKindIcon.js +18 -0
- package/dist/esm/Components/MediaViewer/components/sanitizeDocxHrefs.js +27 -0
- package/dist/esm/Components/MediaViewer/hooks/useAutoHideChrome.js +40 -0
- package/dist/esm/Components/MediaViewer/hooks/useFileViewer.js +45 -0
- package/dist/esm/Components/MediaViewer/mediaItems.js +174 -0
- package/dist/esm/Components/MediaViewer/useViewerChrome.js +27 -0
- package/dist/esm/Components/Modal/Modal.js +25 -19
- package/dist/esm/Components/MoreItems/MoreItems.js +4 -2
- package/dist/esm/Components/MultiSelect/MultiSelect.js +19 -18
- package/dist/esm/Components/NavigationBar/NavigationBar.js +7 -8
- package/dist/esm/Components/NoteTextArea/NoteTextArea.js +15 -10
- package/dist/esm/Components/Notification/Notification.js +9 -5
- package/dist/esm/Components/NotificationBell/NotificationBell.js +33 -0
- package/dist/esm/Components/NotificationBell/NotificationBellProps.js +1 -0
- package/dist/esm/Components/NotificationBell/NotificationItem.js +29 -0
- package/dist/esm/Components/NotificationBell/NotificationList.js +36 -0
- package/dist/esm/Components/NotificationBell/NotificationPanel.js +31 -0
- package/dist/esm/Components/NotificationBell/index.js +6 -0
- package/dist/esm/Components/NotificationBell/notificationHelpers.js +98 -0
- package/dist/esm/Components/NumberInput/NumberInput.js +7 -6
- package/dist/esm/Components/NumberInput/NumberInput.styles.js +19 -78
- package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +4 -12
- package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +2 -1
- package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +1 -1
- package/dist/esm/Components/OrganizationDetails/DeleteOrgModal.js +7 -9
- package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +9 -8
- package/dist/esm/Components/PageHeader/PageHeader.js +9 -0
- package/dist/esm/Components/PageHeader/PageHeaderProps.js +1 -0
- package/dist/esm/Components/PdfViewer/PdfViewer.js +1 -1
- package/dist/esm/Components/PersonChip/PersonChip.js +42 -0
- package/dist/esm/Components/PersonChip/PersonChipProps.js +1 -0
- package/dist/esm/Components/PinInput/PinInput.js +10 -7
- package/dist/esm/Components/PinInput/pinInputCellSize.js +6 -0
- package/dist/esm/Components/PlanBadge/PlanBadge.js +1 -7
- package/dist/esm/Components/PlanPill/PlanPill.js +2 -3
- package/dist/esm/Components/PlanPill/planPillGradient.js +6 -20
- package/dist/esm/Components/Primitives/Primitives.js +3 -6
- package/dist/esm/Components/ProductCard/ProductPrice.js +18 -7
- package/dist/esm/Components/ProductCard/ProductReview.js +3 -2
- package/dist/esm/Components/ProductDetails/ProductDetails.js +1 -1
- package/dist/esm/Components/ProductDetails/ProductDtlPrice.js +5 -5
- package/dist/esm/Components/ProductDetails/ProductImageSlider.js +36 -20
- package/dist/esm/Components/ProfileCard/ProfileCard.js +25 -10
- package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +7 -4
- package/dist/esm/Components/ProgressBar/ProgressBar.js +27 -3
- package/dist/esm/Components/QueryState/ErrorState.js +11 -0
- package/dist/esm/Components/QueryState/QueryStateBoundary.js +20 -0
- package/dist/esm/Components/QueryState/QueryStateProps.js +1 -0
- package/dist/esm/Components/RadioButton/RadioButton.js +33 -16
- package/dist/esm/Components/RangeSlider/RangeSlider.js +131 -0
- package/dist/esm/Components/RangeSlider/RangeSliderProps.js +1 -0
- package/dist/esm/Components/RangeSlider/rangeSliderColors.js +7 -0
- package/dist/esm/Components/RangeSlider/rangeSliderMath.js +69 -0
- package/dist/esm/Components/RangeSlider/rangeSliderSize.js +8 -0
- package/dist/esm/Components/Reorder/Reorder.js +2 -2
- package/dist/esm/Components/RolesPermission/DeleteRoleModal.js +7 -9
- package/dist/esm/Components/RolesPermission/RolesPermission.js +1 -1
- package/dist/esm/Components/SaveBar/SaveBar.js +19 -0
- package/dist/esm/Components/SaveBar/SaveBarProps.js +1 -0
- package/dist/esm/Components/ScrollToTop/ScrollToTop.js +5 -2
- package/dist/esm/Components/Search/Search.js +35 -16
- package/dist/esm/Components/SearchSelect/SearchSelect.js +62 -76
- package/dist/esm/Components/SearchSelect/searchSelectSize.js +15 -15
- package/dist/esm/Components/SegmentedControl/SegmentedControl.js +34 -30
- package/dist/esm/Components/SegmentedControl/useSlidingPill.js +22 -0
- package/dist/esm/Components/Select/Select.js +67 -25
- package/dist/esm/Components/Select/Select.styles.js +12 -81
- package/dist/esm/Components/Select/SelectNative.js +44 -0
- package/dist/esm/Components/Select/SelectPopup.js +377 -0
- package/dist/esm/Components/SelectSearch/SelectSearch.js +18 -80
- package/dist/esm/Components/SelectV2/SelectV2.js +16 -231
- package/dist/esm/Components/SettingRow/SettingRow.js +22 -0
- package/dist/esm/Components/SettingRow/SettingRowProps.js +1 -0
- package/dist/esm/Components/SettingRow/SettingsSection.js +11 -0
- package/dist/esm/Components/SettingRow/SettingsSectionProps.js +1 -0
- package/dist/esm/Components/SideBar/SecondaryBar.js +19 -9
- package/dist/esm/Components/SideBar/SideBar.js +37 -22
- package/dist/esm/Components/SideBar/components/MenuItemBox.js +40 -25
- package/dist/esm/Components/SideBar/components/MenuItems.js +4 -4
- package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +20 -10
- package/dist/esm/Components/SideBar/components/OtherApps.js +3 -3
- package/dist/esm/Components/SideBar/components/OverflowTooltipText.js +3 -1
- package/dist/esm/Components/SideBar/components/TextTruncation.js +3 -3
- package/dist/esm/Components/SideBar/menuDisabled.js +3 -0
- package/dist/esm/Components/SideBar/sidebarId.js +2 -0
- package/dist/esm/Components/Skeletons/Skeletons.js +2 -2
- package/dist/esm/Components/Slider/Slider.js +2 -1
- package/dist/esm/Components/Spinner/Spinner.js +19 -0
- package/dist/esm/Components/Spinner/SpinnerProps.js +1 -0
- package/dist/esm/Components/StageProgress/StageItem.js +12 -4
- package/dist/esm/Components/StageProgress/StageProgress.js +6 -7
- package/dist/esm/Components/StageProgress/StageProgressProps.js +6 -2
- package/dist/esm/Components/StageProgress/StepperStage.js +5 -2
- package/dist/esm/Components/StatCard/StatCard.js +37 -0
- package/dist/esm/Components/StatCard/StatCardProps.js +1 -0
- package/dist/esm/Components/Switch/Switch.js +10 -11
- package/dist/esm/Components/Table/Table.js +58 -51
- package/dist/esm/Components/Table/components/HeaderActions.js +3 -2
- package/dist/esm/Components/Table/components/Pagination.js +1 -1
- package/dist/esm/Components/Table/components/TableActions.js +1 -1
- package/dist/esm/Components/Table/components/TableBody.js +33 -41
- package/dist/esm/Components/Table/components/TableGroupRow.js +1 -1
- package/dist/esm/Components/Table/components/TableHeader.js +14 -12
- package/dist/esm/Components/Table/components/TableSearch.js +1 -1
- package/dist/esm/Components/Table/components/rowMetrics.js +11 -0
- package/dist/esm/Components/Table/filters/ActiveFilters.js +7 -4
- package/dist/esm/Components/Table/filters/CompactSelect.js +1 -1
- package/dist/esm/Components/Table/filters/LeftFilterPane.js +1 -1
- package/dist/esm/Components/Table/filters/TableFilters.js +1 -1
- package/dist/esm/Components/Table/hooks/useTable.js +14 -23
- package/dist/esm/Components/Table/settings/ManageColumns.js +7 -6
- package/dist/esm/Components/Table/settings/TableSettings.js +5 -4
- package/dist/esm/Components/Table/variants/classic.js +2 -0
- package/dist/esm/Components/Table/variants/stripe.js +3 -0
- package/dist/esm/Components/Table/variants/studio.js +2 -0
- package/dist/esm/Components/Tabs/Tabs.js +65 -0
- package/dist/esm/Components/Tabs/TabsContext.js +10 -0
- package/dist/esm/Components/Tabs/TabsProps.js +1 -0
- package/dist/esm/Components/Tabs/components/CountBadge.js +15 -0
- package/dist/esm/Components/Tabs/components/Tab.js +34 -0
- package/dist/esm/Components/Tabs/components/TabList.js +69 -0
- package/dist/esm/Components/Tabs/components/TabPanel.js +15 -0
- package/dist/esm/Components/Tabs/components/TabPanels.js +12 -0
- package/dist/esm/Components/Tabs/index.js +5 -0
- package/dist/esm/Components/Tabs/tabStyles.js +33 -0
- package/dist/esm/Components/Tag/Tag.js +15 -7
- package/dist/esm/Components/Tag/Tag.styles.js +44 -37
- package/dist/esm/Components/Timeline/Timeline.js +42 -30
- package/dist/esm/Components/Toaster/Toaster.js +73 -58
- package/dist/esm/Components/Toaster/toastDuration.js +3 -0
- package/dist/esm/Components/Toggle/TableToggle.js +9 -24
- package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +39 -8
- package/dist/esm/Components/ToolTip/OverflowToolTip.js +1 -15
- package/dist/esm/Components/ToolTip/ToolTip.js +14 -14
- package/dist/esm/Components/UpgradeButton/UpgradeButton.js +9 -14
- package/dist/esm/Components/UserDetails/AddUserModal.js +1 -1
- package/dist/esm/Components/UserDetails/ChangeRoleModal.js +1 -1
- package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +6 -8
- package/dist/esm/Components/UserDetails/UserDetails.js +7 -9
- package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -14
- package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +6 -23
- package/dist/esm/Constants/Sidebar.js +0 -15
- package/dist/esm/Hooks/useDebounce.js +29 -0
- package/dist/esm/Hooks/useExclusiveOverlay.js +1 -4
- package/dist/esm/Hooks/useFullscreen.js +29 -0
- package/dist/esm/Hooks/useIsTruncated.js +1 -30
- package/dist/esm/Hooks/usePreferences.js +1 -6
- package/dist/esm/Hooks/useSidebarPrefs.js +1 -2
- package/dist/esm/Theme/assertPalette.js +2 -2
- package/dist/esm/Theme/chakra/Card.styles.js +45 -0
- package/dist/esm/Theme/chakra/Drawer.styles.js +14 -13
- package/dist/esm/Theme/chakra/Menu.styles.js +2 -23
- package/dist/esm/Theme/chakra/Modal.styles.js +15 -13
- package/dist/esm/Theme/chakra/Popover.styles.js +2 -10
- package/dist/esm/Theme/chakra/Slider.styles.js +1 -6
- package/dist/esm/Theme/chakra/common.web.js +1 -7
- package/dist/esm/Theme/chakra/componentStyles.js +68 -88
- package/dist/esm/Theme/chakra/createBrandTheme.js +6 -50
- package/dist/esm/Theme/chakra/focusRing.styles.js +4 -23
- package/dist/esm/Theme/chakra/fonts.web.js +1 -5
- package/dist/esm/Theme/chakra/motion.js +22 -0
- package/dist/esm/Theme/chakra/overlay.styles.js +43 -0
- package/dist/esm/Theme/chakra/paletteFromTheme.js +1 -4
- package/dist/esm/Theme/index.js +3 -18
- package/dist/esm/Theme/provider/PixelizeThemeProvider.js +6 -74
- package/dist/esm/Theme/provider/ThemeSwitcher.js +2 -10
- package/dist/esm/Theme/provider/colorModeStorage.js +1 -4
- package/dist/esm/Theme/tokens/brands/emerald/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +2 -10
- package/dist/esm/Theme/tokens/brands/index.js +4 -4
- package/dist/esm/Theme/tokens/brands/lavender/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +4 -13
- package/dist/esm/Theme/tokens/brands/meadow/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +2 -11
- package/dist/esm/Theme/tokens/brands/radiant/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +2 -10
- package/dist/esm/Theme/tokens/brands/rosewood/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +2 -14
- package/dist/esm/Theme/tokens/brands/skyline/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +2 -11
- package/dist/esm/Theme/tokens/brands/slate/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/slate/palette.light.js +1 -11
- package/dist/esm/Theme/tokens/brands/storefront/palette.dark.js +0 -4
- package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +5 -35
- package/dist/esm/Theme/tokens/brands/zinc/palette.light.js +3 -12
- package/dist/esm/Theme/tokens/builders/accentText.js +5 -48
- package/dist/esm/Theme/tokens/builders/brandInk.js +18 -2
- package/dist/esm/Theme/tokens/builders/buildBrandTokens.js +1 -3
- package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +15 -103
- package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -8
- package/dist/esm/Theme/tokens/builders/color.js +3 -20
- package/dist/esm/Theme/tokens/builders/filledSurface.js +35 -25
- package/dist/esm/Theme/tokens/builders/focusRing.js +5 -49
- package/dist/esm/Theme/tokens/builders/gradientInk.js +2 -10
- package/dist/esm/Theme/tokens/builders/index.js +4 -0
- package/dist/esm/Theme/tokens/builders/outlineRung.js +4 -70
- package/dist/esm/Theme/tokens/builders/placeholderInk.js +2 -12
- package/dist/esm/Theme/tokens/builders/resolvedRungs.js +1 -5
- package/dist/esm/Theme/tokens/builders/rowStates.js +5 -9
- package/dist/esm/Theme/tokens/builders/scrim.js +12 -0
- package/dist/esm/Theme/tokens/builders/scrollbar.js +1 -4
- package/dist/esm/Theme/tokens/builders/semanticText.js +1 -5
- package/dist/esm/Theme/tokens/builders/sidebarAccent.js +11 -0
- package/dist/esm/Theme/tokens/builders/statusTone.js +4 -19
- package/dist/esm/Theme/tokens/builders/surfaceRaised.js +15 -0
- package/dist/esm/Theme/tokens/builders/surfaceRungs.js +3 -9
- package/dist/esm/Theme/tokens/builders/tone.js +47 -0
- package/dist/esm/Theme/tokens/builders/tooltipSurface.js +6 -0
- package/dist/esm/Theme/tokens/builders/viewportHeight.js +6 -0
- package/dist/esm/Theme/tokens/index.js +1 -10
- package/dist/esm/Theme/tokens/primitives/controlSizes.js +10 -0
- package/dist/esm/Theme/tokens/primitives/index.js +2 -0
- package/dist/esm/Theme/tokens/primitives/motion.js +8 -0
- package/dist/esm/Theme/tokens/primitives/sizes.js +1 -4
- package/dist/esm/Theme/tokens/primitives/typography.js +1 -7
- package/dist/esm/Theme/tokens/types.js +1 -6
- package/dist/esm/Utils/accountHandoff.js +2 -17
- package/dist/esm/Utils/apiError.js +24 -0
- package/dist/esm/Utils/functions.js +6 -4
- package/dist/esm/Utils/humanize.js +15 -0
- package/dist/esm/Utils/lazyWithRetry.js +45 -0
- package/dist/esm/Utils/mergeRefs.js +1 -5
- package/dist/esm/Utils/planBadge.js +2 -12
- package/dist/esm/Utils/planExpiry.js +4 -29
- package/dist/esm/Utils/rafThrottle.js +1 -11
- package/dist/esm/Utils/table.js +15 -54
- package/dist/esm/Utils/validation.js +73 -0
- package/dist/esm/index.js +64 -2
- package/dist/global.css +6 -1
- package/dist/index.d.ts +110 -6
- package/dist/index.js +192 -4
- package/package.json +11 -3
- package/dist/Assets/defaultLogo.tsx +0 -26
- package/dist/Components/PinInputs/PinInputs.d.ts +0 -4
- package/dist/Components/PinInputs/PinInputs.js +0 -47
- package/dist/Components/PinInputs/PinInputsProps.d.ts +0 -10
- package/dist/Components/Table/hooks/useDebounce.d.ts +0 -2
- package/dist/Components/Table/hooks/useDebounce.js +0 -24
- package/dist/Components/Trail/EditableCell.d.ts +0 -13
- package/dist/Components/Trail/EditableCell.js +0 -35
- package/dist/Components/Trail/SelectAllCheckbox.d.ts +0 -9
- package/dist/Components/Trail/SelectAllCheckbox.js +0 -10
- package/dist/Components/Trail/TrailWorks.d.ts +0 -3
- package/dist/Components/Trail/TrailWorks.js +0 -57
- package/dist/Components/Trail/data.d.ts +0 -15
- package/dist/Components/Trail/data.js +0 -29
- package/dist/Theme/chakra/Avatar.styles.d.ts +0 -32
- package/dist/Theme/chakra/Avatar.styles.js +0 -28
- package/dist/Theme/chakra/Switch.styles.d.ts +0 -30
- package/dist/Theme/chakra/Switch.styles.js +0 -22
- package/dist/Theme/chakra/Tabs.styles.d.ts +0 -42
- package/dist/Theme/chakra/Tabs.styles.js +0 -36
- package/dist/esm/Components/PinInputs/PinInputs.js +0 -42
- package/dist/esm/Components/Table/hooks/useDebounce.js +0 -22
- package/dist/esm/Components/Trail/EditableCell.js +0 -31
- package/dist/esm/Components/Trail/SelectAllCheckbox.js +0 -6
- package/dist/esm/Components/Trail/TrailWorks.js +0 -55
- package/dist/esm/Components/Trail/data.js +0 -26
- package/dist/esm/Theme/chakra/Avatar.styles.js +0 -25
- package/dist/esm/Theme/chakra/Switch.styles.js +0 -19
- package/dist/esm/Theme/chakra/Tabs.styles.js +0 -33
- /package/dist/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
- /package/dist/esm/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cloneElement, isValidElement } from "react";
|
|
2
|
+
import { cloneElement, isValidElement, useMemo } from "react";
|
|
3
3
|
import { Tooltip as ChakraTooltip } from "@chakra-ui/react";
|
|
4
4
|
import { useIsTruncated } from "../../Hooks/useIsTruncated.js";
|
|
5
5
|
import { mergeRefs } from "../../Utils/mergeRefs.js";
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const TOOLTIP_OPEN_DELAY_MS = 300;
|
|
7
|
+
/** Keeps the bubble off the viewport edge: a subpixel overhang there raises page scrollbars. */
|
|
8
|
+
const VIEWPORT_PADDING = 8;
|
|
9
|
+
const withViewportPadding = (modifiers) => {
|
|
10
|
+
const caller = modifiers !== null && modifiers !== void 0 ? modifiers : [];
|
|
11
|
+
if (caller.some((m) => m.name === "preventOverflow"))
|
|
12
|
+
return modifiers;
|
|
13
|
+
return [...caller, { name: "preventOverflow", options: { padding: VIEWPORT_PADDING } }];
|
|
14
|
+
};
|
|
8
15
|
/** Renders a hover/focus-triggered Chakra Tooltip — not a substitute for Toaster's transient, unprompted notifications. */
|
|
9
|
-
export default function ToolTip({ placement = "top", label, children, hasArrow = true, fontSize
|
|
10
|
-
//
|
|
11
|
-
// Hooks) but is fully inert unless `overflowOnly` is set — no layout reads,
|
|
12
|
-
// no ResizeObserver, no re-renders for ordinary tooltips. Measurement never
|
|
13
|
-
// runs on hover/scroll, so showing the tooltip stays as cheap as before.
|
|
16
|
+
export default function ToolTip({ placement = "top", label, children, hasArrow = true, fontSize, bg, color, isDisabled, overflowOnly = false, isOpen, defaultIsOpen, openDelay = TOOLTIP_OPEN_DELAY_MS, closeDelay = 0, arrowSize = 10, closeOnClick = false, size, width, height, arrowPadding, arrowShadowColor, direction, gutter = 8, onClose, modifiers, closeOnPointerDown, styles, }) {
|
|
17
|
+
// NOTE: hook always runs (Rules of Hooks) but is inert unless overflowOnly is set — no cost for ordinary tooltips.
|
|
14
18
|
const { ref, isTruncated } = useIsTruncated(label, overflowOnly && isValidElement(children));
|
|
15
|
-
|
|
16
|
-
const theme = useCustomTheme();
|
|
17
|
-
const surface = theme.colors.sidebar.background[500];
|
|
18
|
-
const resolvedBg = bg !== null && bg !== void 0 ? bg : surface;
|
|
19
|
-
const resolvedColor = color !== null && color !== void 0 ? color : onFilled(resolvedBg, theme.colors.white, theme.colors.black);
|
|
19
|
+
const safeModifiers = useMemo(() => withViewportPadding(modifiers), [modifiers]);
|
|
20
20
|
let content = children;
|
|
21
21
|
let effectiveDisabled = isDisabled;
|
|
22
22
|
if (overflowOnly && isValidElement(children)) {
|
|
@@ -27,5 +27,5 @@ export default function ToolTip({ placement = "top", label, children, hasArrow =
|
|
|
27
27
|
});
|
|
28
28
|
effectiveDisabled = Boolean(isDisabled) || !isTruncated;
|
|
29
29
|
}
|
|
30
|
-
return (_jsx(ChakraTooltip, { label: label, placement: placement, hasArrow: hasArrow, fontSize: fontSize, bg:
|
|
30
|
+
return (_jsx(ChakraTooltip, { label: label, placement: placement, hasArrow: hasArrow, fontSize: fontSize, bg: bg, color: color, isDisabled: effectiveDisabled, isOpen: isOpen, defaultIsOpen: defaultIsOpen, openDelay: openDelay, closeDelay: closeDelay, arrowSize: arrowSize, closeOnClick: closeOnClick, size: size, width: width, height: height, arrowPadding: arrowPadding, arrowShadowColor: arrowShadowColor, direction: direction, gutter: gutter, onClose: onClose, modifiers: safeModifiers, closeOnPointerDown: closeOnPointerDown, style: styles, children: content }));
|
|
31
31
|
}
|
|
@@ -5,8 +5,10 @@ import { useCustomTheme } from "../../Theme/useCustomTheme.js";
|
|
|
5
5
|
import { resolveGradient } from "../../Theme/tokens/builders/gradientInk.js";
|
|
6
6
|
import { contrastRatio } from "../../Theme/tokens/builders/color.js";
|
|
7
7
|
import { AA_NON_TEXT } from "../../Theme/tokens/builders/outlineRung.js";
|
|
8
|
+
import { focusVisibleStyles } from "../../Theme/chakra/focusRing.styles.js";
|
|
9
|
+
import { neutralTokens } from "../../Theme/tokens/brands/neutrals.js";
|
|
8
10
|
/** The brand's gold sparkle accent, kept only where it clears 3:1 on the button's own fill. */
|
|
9
|
-
const ACCENT_GOLD =
|
|
11
|
+
const ACCENT_GOLD = neutralTokens.yellow[400];
|
|
10
12
|
const sizeMap = {
|
|
11
13
|
// Compact, not tiny: an 8px subtitle was unreadable, so `sm` sits deliberately
|
|
12
14
|
// close to `md` — it's the dense variant of the same badge, not a smaller one.
|
|
@@ -18,12 +20,7 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = Sparkles, iconColo
|
|
|
18
20
|
const theme = useCustomTheme();
|
|
19
21
|
const c = theme.colors;
|
|
20
22
|
const themeGradient = c.gradient;
|
|
21
|
-
//
|
|
22
|
-
// neither white nor black ink clears AA at both ends at once (measured worst-case as low as
|
|
23
|
-
// 2.72:1 across brands — no ink choice fixes a gradient with no readable ink at all). One rung
|
|
24
|
-
// darker moves both stops onto the same side of that divide; verified universally >=4.5 at
|
|
25
|
-
// both ends across all 9 brands x both modes. `success`/`warning`/`danger`/`info` already sit
|
|
26
|
-
// there at [400]->[600] and don't need the shift.
|
|
23
|
+
// NOTE: primary/secondary shifted one rung darker — the [500]->[700] pair had no ink that clears AA at both ends.
|
|
27
24
|
const variantGradient = {
|
|
28
25
|
brand: themeGradient,
|
|
29
26
|
primary: { from: c.primary[600], to: c.primary[800] },
|
|
@@ -33,13 +30,10 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = Sparkles, iconColo
|
|
|
33
30
|
danger: { from: c.semantic.error[400], to: c.semantic.error[600] },
|
|
34
31
|
info: { from: c.semantic.info[400], to: c.semantic.info[600] },
|
|
35
32
|
};
|
|
36
|
-
//
|
|
37
|
-
// across brands) — the label/subtitle share this computed ink instead.
|
|
33
|
+
// NOTE: gold iconColor default fails AA as body text (~1.4-3.3 across brands) — label/subtitle use this ink instead.
|
|
38
34
|
const resolved = resolveGradient(gradient !== null && gradient !== void 0 ? gradient : variantGradient[variant], c.white, c.black);
|
|
39
35
|
const ink = resolved.ink;
|
|
40
|
-
//
|
|
41
|
-
// near-white fill, where gold-on-near-white measures ~1.3:1 and the icon vanishes, so fall
|
|
42
|
-
// back to the label's ink whenever the gold misses either stop.
|
|
36
|
+
// NOTE: gold only clears 3:1 on a dark gradient — falls back to label ink whenever it misses either stop.
|
|
43
37
|
const resolvedIconColor = iconColor !== null && iconColor !== void 0 ? iconColor : (contrastRatio(ACCENT_GOLD, resolved.from) >= AA_NON_TEXT &&
|
|
44
38
|
contrastRatio(ACCENT_GOLD, resolved.to) >= AA_NON_TEXT
|
|
45
39
|
? ACCENT_GOLD
|
|
@@ -50,7 +44,7 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = Sparkles, iconColo
|
|
|
50
44
|
const g = `linear-gradient(135deg, ${resolved.from} 0%, ${resolved.to} 100%)`;
|
|
51
45
|
const gReversed = `linear-gradient(135deg, ${resolved.to} 0%, ${resolved.from} 100%)`;
|
|
52
46
|
const hasMobile = !!mobileLabel && mobileLabel !== label;
|
|
53
|
-
return (_jsxs(Box, { as: "button", type: "button", "aria-label": ariaLabel || label, onClick: blocked ? undefined : onClick, disabled: isDisabled, position: "relative", cursor: blocked ? "default" : "pointer", opacity: isDisabled ? 0.6 : 1, px: { base: s.px === "20px" ? "14px" : s.px, md: s.px }, py: s.py, bgImage: g, color: ink, borderRadius: s.radius, fontWeight: "bold", textAlign: "center", overflow: "hidden", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", transition: "transform 0.3s ease, box-shadow 0.3s ease, background-image 0.3s ease",
|
|
47
|
+
return (_jsxs(Box, { as: "button", type: "button", "aria-label": ariaLabel || label, onClick: blocked ? undefined : onClick, disabled: isDisabled, position: "relative", cursor: blocked ? "default" : "pointer", opacity: isDisabled ? 0.6 : 1, px: { base: s.px === "20px" ? "14px" : s.px, md: s.px }, py: s.py, bgImage: g, color: ink, borderRadius: s.radius, fontWeight: "bold", textAlign: "center", overflow: "hidden", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", transition: "transform 0.3s ease, box-shadow 0.3s ease, background-image 0.3s ease", _hover: blocked
|
|
54
48
|
? undefined
|
|
55
49
|
: {
|
|
56
50
|
transform: "translateY(-2px)",
|
|
@@ -59,6 +53,7 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = Sparkles, iconColo
|
|
|
59
53
|
...(shimmer ? { _before: { left: "130%" } } : {}),
|
|
60
54
|
}, sx: shimmer
|
|
61
55
|
? {
|
|
56
|
+
...focusVisibleStyles(c),
|
|
62
57
|
_before: {
|
|
63
58
|
content: '""',
|
|
64
59
|
position: "absolute",
|
|
@@ -72,6 +67,6 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = Sparkles, iconColo
|
|
|
72
67
|
pointerEvents: "none",
|
|
73
68
|
},
|
|
74
69
|
}
|
|
75
|
-
:
|
|
70
|
+
: focusVisibleStyles(c), children: [_jsxs(Flex, { align: "center", gap: "6px", maxW: maxLabelWidth, overflow: "hidden", whiteSpace: "nowrap", zIndex: 1, children: [_jsx(Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: hasMobile ? { base: "none", md: "block" } : "block", children: label }), hasMobile && (_jsx(Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: { base: "block", md: "none" }, children: mobileLabel })), isLoading ? (_jsx(Spinner, { size: "xs", thickness: "1.5px", color: resolvedIconColor })) : (Icon && _jsx(Icon, { size: s.icon, color: resolvedIconColor, style: { flexShrink: 0 } }))] }), subtitle && (_jsx(Text, { as: "span", mt: "1px", fontSize: s.sub, fontWeight: "bold", color: ink, maxW: maxLabelWidth, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", zIndex: 1, children: subtitle }))] }));
|
|
76
71
|
};
|
|
77
72
|
export default UpgradeButton;
|
|
@@ -75,7 +75,7 @@ const AddUserModal = ({ isOpen, onClose, roleOptions, isLoading, onSubmit, onAdd
|
|
|
75
75
|
type: "email",
|
|
76
76
|
},
|
|
77
77
|
];
|
|
78
|
-
return (_jsxs(Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [_jsx(ModalOverlay, { backdropFilter: "blur(4px)" }), _jsxs(ModalContent, { bg: colors.
|
|
78
|
+
return (_jsxs(Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [_jsx(ModalOverlay, { backdropFilter: "blur(4px)" }), _jsxs(ModalContent, { bg: colors.surfaceRaised, borderRadius: "xl", overflow: "hidden", children: [_jsxs(ModalHeader, { borderBottom: "1px solid", borderColor: colors.boxborder[200], children: [labels.addNewUser, upgradeNotice] }), _jsx(ModalCloseButton, {}), _jsx(ModalBody, { py: 5, children: _jsxs(VStack, { spacing: 4, align: "stretch", children: [textFields.map((field) => (_jsx(FormControl, { isInvalid: !!errors[field.id], children: _jsx(TextInput, { id: field.id, name: field.id, type: field.type, label: field.label, placeholder: field.placeholder, value: values[field.id], onChange: handleChange(field.id), isRequired: true, error: !!errors[field.id], errorMessage: errors[field.id], width: "100%" }) }, field.id))), _jsx(FormControl, { isInvalid: !!errors.role, isRequired: true, children: _jsx(SearchSelect, { label: labels.role, options: roleOptions.map((item) => ({
|
|
79
79
|
id: item.id,
|
|
80
80
|
label: item.label,
|
|
81
81
|
})), value: (_a = values.role) !== null && _a !== void 0 ? _a : undefined, onSelect: (option) => {
|
|
@@ -31,7 +31,7 @@ const ChangeRoleModal = ({ isOpen, onClose, userId, email, currentRole, roleOpti
|
|
|
31
31
|
return;
|
|
32
32
|
await (onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit({ userId, roleId: selectedRole.id }));
|
|
33
33
|
};
|
|
34
|
-
return (_jsxs(Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [_jsx(ModalOverlay, { backdropFilter: "blur(4px)" }), _jsxs(ModalContent, { bg: colors.
|
|
34
|
+
return (_jsxs(Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [_jsx(ModalOverlay, { backdropFilter: "blur(4px)" }), _jsxs(ModalContent, { bg: colors.surfaceRaised, borderRadius: "xl", overflow: "hidden", children: [_jsx(ModalHeader, { borderBottom: "1px solid", borderColor: colors.boxborder[200], children: labels.changeRoleTitle }), _jsx(ModalCloseButton, {}), _jsx(ModalBody, { py: 5, children: _jsxs(VStack, { spacing: 4, align: "stretch", children: [_jsx(TextInput, { label: labels.email, value: email !== null && email !== void 0 ? email : "", isDisabled: true, width: "100%" }), _jsx(FormControl, { isInvalid: !!error, isRequired: true, children: _jsx(SearchSelect, { label: labels.role, options: roleOptions.map((item) => ({
|
|
35
35
|
id: item.id,
|
|
36
36
|
label: item.label,
|
|
37
37
|
})), value: selectedRole !== null && selectedRole !== void 0 ? selectedRole : undefined, onSelect: (option) => {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Text, Box } from "@chakra-ui/react";
|
|
3
|
+
import { Trash2 } from "lucide-react";
|
|
4
4
|
import { useCustomTheme } from "../../Theme/useCustomTheme.js";
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import Button from "../Button/Button.js";
|
|
5
|
+
import { resolveSoftTone } from "../../Theme/tokens/builders/tone.js";
|
|
6
|
+
import ConfirmDialog from "../ConfirmDialog/ConfirmDialog.js";
|
|
8
7
|
const DeactivateConfirmModal = ({ isOpen, onClose, userName, isLoading, onConfirm, labels, }) => {
|
|
9
8
|
const { colors } = useCustomTheme();
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
return (_jsxs(Modal, { isOpen: isOpen, onClose: onClose, isCentered: true, children: [_jsx(ModalOverlay, { backdropFilter: "blur(4px)" }), _jsxs(ModalContent, { bg: colors.background[50], borderRadius: "2xl", overflow: "hidden", children: [_jsxs(ModalHeader, { borderBottom: "1px solid", borderColor: colors.boxborder[200], display: "flex", alignItems: "center", gap: 3, children: [_jsx(Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "full", bg: errorTone.bg, color: errorTone.fg, children: _jsx(AlertTriangle, { size: 18 }) }), _jsx(Text, { fontSize: "1.05rem", fontWeight: 600, children: labels.confirmDeactivation })] }), _jsx(ModalCloseButton, {}), _jsx(ModalBody, { py: 6, children: _jsxs(VStack, { spacing: 4, align: "stretch", children: [_jsx(Text, { fontSize: "md", fontWeight: 500, color: colors.text[900], children: labels.deactivateConfirmQuestion }), _jsx(Box, { bg: colors.background[50], borderRadius: "lg", p: 4, border: "1px solid", borderColor: colors.boxborder[200], children: _jsxs(Text, { color: colors.textMuted, fontSize: "sm", children: [userName ? `${userName} ` : "", labels.deactivateConfirmDescription] }) }), _jsxs(HStack, { justifyContent: "flex-end", spacing: 3, pt: 2, children: [_jsx(Button, { label: labels.cancel, onClick: onClose, variant: "outline", size: "sm", colorScheme: "gray" }), _jsx(Button, { label: labels.deactivateUser, onClick: onConfirm, colorScheme: "red", size: "sm", isLoading: isLoading, leftIcon: _jsx(Trash2, { size: 16 }) })] })] }) })] })] }));
|
|
9
|
+
const errorTone = resolveSoftTone(colors, colors.semantic.error);
|
|
10
|
+
return (_jsxs(ConfirmDialog, { isOpen: isOpen, onClose: onClose, onConfirm: onConfirm, title: labels.confirmDeactivation, iconBg: errorTone.bg, iconColor: errorTone.fg, cancelLabel: labels.cancel, confirmLabel: labels.deactivateUser, confirmIcon: _jsx(Trash2, { size: 16 }), isConfirmLoading: isLoading, disableCancelWhilePending: false, focusCancelOnOpen: false, bodyLayout: "stack", actionsPt: 2, children: [_jsx(Text, { fontSize: "md", fontWeight: 500, color: colors.text[900], children: labels.deactivateConfirmQuestion }), _jsx(Box, { bg: colors.background[50], borderRadius: "lg", p: 4, border: "1px solid", borderColor: colors.boxborder[200], children: _jsxs(Text, { color: colors.textMuted, fontSize: "sm", children: [userName ? `${userName} ` : "", labels.deactivateConfirmDescription] }) })] }));
|
|
13
11
|
};
|
|
14
12
|
export default DeactivateConfirmModal;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import React, { useMemo, useState } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { Badge, Box, Button, Divider, Flex, Heading, HStack, IconButton, Skeleton, SkeletonCircle, Text, useDisclosure, VStack, } from "@chakra-ui/react";
|
|
4
|
+
import Avatar from "../Avatar/Avatar.js";
|
|
4
5
|
import { ChevronLeft, RefreshCw, Send, Shield, Trash2, UserPlus, Users, UserRound, } from "lucide-react";
|
|
5
6
|
import { useCustomTheme } from "../../Theme/useCustomTheme.js";
|
|
6
7
|
import { resolveHoverTint } from "../../Theme/tokens/builders/outlineRung.js";
|
|
7
8
|
import { accentTextOnCanvas } from "../../Theme/tokens/builders/accentText.js";
|
|
8
9
|
import { listRowBackgrounds } from "../../Theme/tokens/builders/rowStates.js";
|
|
9
10
|
import EmptyState from "../EmptyState/EmptyState.js";
|
|
11
|
+
import PersonChip from "../PersonChip/PersonChip.js";
|
|
10
12
|
import AddUserModal from "./AddUserModal.js";
|
|
11
13
|
import ChangeRoleModal from "./ChangeRoleModal.js";
|
|
12
14
|
import DeactivateConfirmModal from "./DeactivateConfirmModal.js";
|
|
@@ -60,10 +62,6 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
|
|
|
60
62
|
const rowBackgrounds = useMemo(() => listRowBackgrounds(colors), [colors]);
|
|
61
63
|
const muted = colors.textMuted;
|
|
62
64
|
const heading = colors.text[900];
|
|
63
|
-
const avatarBg = colors.primary[100];
|
|
64
|
-
// Picked dynamically against `avatarBg` rather than a fixed [600] rung — a fixed rung falls
|
|
65
|
-
// short of AA (4.27) for some brands' primary scale in dark mode.
|
|
66
|
-
const avatarColor = accentTextOnCanvas(colors.primary, avatarBg);
|
|
67
65
|
const successScheme = "green";
|
|
68
66
|
const dangerScheme = "red";
|
|
69
67
|
const handleDeactivateConfirm = () => {
|
|
@@ -71,15 +69,15 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
|
|
|
71
69
|
onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate(actionUserId);
|
|
72
70
|
onConfirmClose();
|
|
73
71
|
};
|
|
74
|
-
const renderStatusBadge = (isActive) => (_jsx(Badge, { variant: "subtle", colorScheme: isActive ? successScheme : dangerScheme, borderRadius: "full", px: 2, py: 0.5, fontSize: "
|
|
75
|
-
return (_jsxs(Flex, { backgroundColor: colors.backgroundColor.main, minHeight: minHeight, p: { base: 3, md: 4 }, gap: 3, flexDirection: { base: "column", lg: "row" }, children: [_jsxs(Box, { width: { base: "100%", lg: "300px" }, backgroundColor: surface, borderRadius: "xl", boxShadow: "sm", border: "1px solid", borderColor: border, position: "relative", order: { base: 2, lg: 1 }, overflow: "hidden", display: "flex", flexDirection: "column", children: [_jsxs(Flex, { px: 4, py: 3, borderBottom: "1px solid", borderColor: border, alignItems: "center", justifyContent: "space-between", children: [_jsxs(HStack, { spacing: 2, children: [onBack && (_jsx(IconButton, { "aria-label": "Go back", icon: _jsx(ChevronLeft, { size: 18 }), variant: "ghost", size: "xs", color: muted, onClick: onBack })), _jsx(Heading, { size: "sm", fontWeight: 600, color: heading, children: labels.teamMembers }), _jsx(Badge, { colorScheme: "gray", borderRadius: "full", fontSize: "
|
|
72
|
+
const renderStatusBadge = (isActive) => (_jsx(Badge, { variant: "subtle", colorScheme: isActive ? successScheme : dangerScheme, borderRadius: "full", px: 2, py: 0.5, fontSize: "xs", fontWeight: 600, textTransform: "none", children: isActive ? labels.active : labels.inactive }));
|
|
73
|
+
return (_jsxs(Flex, { backgroundColor: colors.backgroundColor.main, minHeight: minHeight, p: { base: 3, md: 4 }, gap: 3, flexDirection: { base: "column", lg: "row" }, children: [_jsxs(Box, { width: { base: "100%", lg: "300px" }, backgroundColor: surface, borderRadius: "xl", boxShadow: "sm", border: "1px solid", borderColor: border, position: "relative", order: { base: 2, lg: 1 }, overflow: "hidden", display: "flex", flexDirection: "column", children: [_jsxs(Flex, { px: 4, py: 3, borderBottom: "1px solid", borderColor: border, alignItems: "center", justifyContent: "space-between", children: [_jsxs(HStack, { spacing: 2, children: [onBack && (_jsx(IconButton, { "aria-label": "Go back", icon: _jsx(ChevronLeft, { size: 18 }), variant: "ghost", size: "xs", color: muted, onClick: onBack })), _jsx(Heading, { size: "sm", fontWeight: 600, color: heading, children: labels.teamMembers }), _jsx(Badge, { colorScheme: "gray", borderRadius: "full", fontSize: "xs", px: 2, children: users.length })] }), onRefresh && (_jsx(IconButton, { "aria-label": labels.refreshList, icon: _jsx(RefreshCw, { size: 15 }), variant: "ghost", size: "xs", color: muted, onClick: onRefresh, isLoading: isUsersLoading }))] }), _jsx(Box, { flex: 1, overflowY: "auto", maxHeight: { base: "380px", lg: `calc(${minHeight} - 80px)` }, tabIndex: 0, role: "region", "aria-label": labels.teamMembers, children: isUsersLoading ? (_jsx(VStack, { spacing: 2, p: 3, children: Array.from({ length: 6 }).map((_, idx) => (_jsxs(Flex, { alignItems: "center", gap: 3, p: 2, w: "100%", children: [_jsx(SkeletonCircle, { size: "9" }), _jsxs(Box, { flex: 1, children: [_jsx(Skeleton, { height: "12px", mb: 2, width: "80%" }), _jsx(Skeleton, { height: "9px", width: "60%" })] })] }, idx))) })) : users.length === 0 ? (_jsx(EmptyState, { icon: Users, title: labels.noUsers, size: "sm", minH: "220px" })) : (_jsx(VStack, { spacing: 1, p: 2, align: "stretch", children: users.map((user) => {
|
|
76
74
|
const isSelected = selectedUserId != null && selectedUserId === user.id;
|
|
77
75
|
return (_jsxs(Flex, { p: 2.5, w: "100%", cursor: "pointer", alignItems: "center", gap: 2.5, backgroundColor: isSelected ? rowBackgrounds.selected : "transparent", _hover: {
|
|
78
76
|
background: isSelected
|
|
79
77
|
? rowBackgrounds.selectedActive
|
|
80
78
|
: rowBackgrounds.active,
|
|
81
|
-
}, transition: "background 0.15s ease", borderRadius: "lg", position: "relative", onClick: () => onSelectUser === null || onSelectUser === void 0 ? void 0 : onSelectUser(user), children: [isSelected && (_jsx(Box, { position: "absolute", left: 0, top: "20%", bottom: "20%", width: "3px", borderRadius: "full", bg: colors.primary[500] })), _jsx(
|
|
82
|
-
}) })) })] }), _jsxs(Box, { flex: 1, backgroundColor: surface, borderRadius: "xl", boxShadow: "sm", border: "1px solid", borderColor: border, display: "flex", flexDirection: "column", order: { base: 1, lg: 2 }, overflow: "hidden", children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", px: 4, py: 3, borderBottom: "1px solid", borderColor: border, children: [_jsx(Heading, { size: "sm", fontWeight: 600, color: heading, children: selectedUser ? labels.userDetails : labels.selectTeamMember }), canManageUsers && (_jsx(Button, { size: "sm", colorScheme: "primary", fontSize: "xs", leftIcon: _jsx(UserPlus, { size: 15 }), onClick: onAddUserOpen, children: labels.addUser }))] }), _jsx(Box, { flex: 1, overflowY: "auto", children: isUsersLoading ? (_jsxs(VStack, { spacing: 4, p: 4, align: "stretch", children: [_jsxs(Flex, { align: "center", gap: 4, children: [_jsx(SkeletonCircle, { size: "16" }), _jsxs(Box, { flex: 1, children: [_jsx(Skeleton, { height: "18px", width: "50%", mb: 2 }), _jsx(Skeleton, { height: "12px", width: "35%" })] })] }), Array.from({ length: 4 }).map((_, idx) => (_jsxs(Box, { w: "100%", children: [_jsx(Skeleton, { height: "12px", width: "30%", mb: 2 }), _jsx(Skeleton, { height: "10px", width: "80%" })] }, idx)))] })) : selectedUser ? (_jsxs(_Fragment, { children: [_jsxs(Flex, { direction: { base: "column", md: "row" }, alignItems: { base: "flex-start", md: "center" }, justifyContent: "space-between", gap: 4, p: 4, borderBottom: "1px solid", borderColor: border, children: [_jsxs(Flex, { alignItems: "center", gap: 4, children: [_jsxs(Box, { position: "relative", children: [_jsx(Avatar, { size: "lg", name: selectedUser.name, src: selectedUser.profilePhoto
|
|
79
|
+
}, transition: "background 0.15s ease", borderRadius: "lg", position: "relative", onClick: () => onSelectUser === null || onSelectUser === void 0 ? void 0 : onSelectUser(user), children: [isSelected && (_jsx(Box, { position: "absolute", left: 0, top: "20%", bottom: "20%", width: "3px", borderRadius: "full", bg: colors.primary[500] })), _jsx(PersonChip, { size: "sm", name: `${user.firstName} ${user.lastName}`, imageUrl: user.profile, secondary: user.email }), renderStatusBadge(user.isActive)] }, user.id));
|
|
80
|
+
}) })) })] }), _jsxs(Box, { flex: 1, backgroundColor: surface, borderRadius: "xl", boxShadow: "sm", border: "1px solid", borderColor: border, display: "flex", flexDirection: "column", order: { base: 1, lg: 2 }, overflow: "hidden", children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", px: 4, py: 3, borderBottom: "1px solid", borderColor: border, children: [_jsx(Heading, { size: "sm", fontWeight: 600, color: heading, children: selectedUser ? labels.userDetails : labels.selectTeamMember }), canManageUsers && (_jsx(Button, { size: "sm", colorScheme: "primary", fontSize: "xs", leftIcon: _jsx(UserPlus, { size: 15 }), onClick: onAddUserOpen, children: labels.addUser }))] }), _jsx(Box, { flex: 1, overflowY: "auto", tabIndex: 0, role: "region", "aria-label": selectedUser ? labels.userDetails : labels.selectTeamMember, children: isUsersLoading ? (_jsxs(VStack, { spacing: 4, p: 4, align: "stretch", children: [_jsxs(Flex, { align: "center", gap: 4, children: [_jsx(SkeletonCircle, { size: "16" }), _jsxs(Box, { flex: 1, children: [_jsx(Skeleton, { height: "18px", width: "50%", mb: 2 }), _jsx(Skeleton, { height: "12px", width: "35%" })] })] }), Array.from({ length: 4 }).map((_, idx) => (_jsxs(Box, { w: "100%", children: [_jsx(Skeleton, { height: "12px", width: "30%", mb: 2 }), _jsx(Skeleton, { height: "10px", width: "80%" })] }, idx)))] })) : selectedUser ? (_jsxs(_Fragment, { children: [_jsxs(Flex, { direction: { base: "column", md: "row" }, alignItems: { base: "flex-start", md: "center" }, justifyContent: "space-between", gap: 4, p: 4, borderBottom: "1px solid", borderColor: border, children: [_jsxs(Flex, { alignItems: "center", gap: 4, children: [_jsxs(Box, { position: "relative", children: [_jsx(Avatar, { size: "lg", name: selectedUser.name, src: selectedUser.profilePhoto }), selectedUser.isCurrent && (_jsx(Badge, { position: "absolute", bottom: -1, right: -1, colorScheme: "blue", variant: "solid", fontSize: "xs", borderRadius: "full", px: 2, py: 0.5, boxShadow: "sm", textTransform: "none", children: labels.you }))] }), _jsxs(Box, { children: [_jsx(Heading, { size: "md", mb: 1, color: heading, children: selectedUser.name }), _jsx(Text, { fontSize: "sm", color: muted, mb: 2, children: selectedUser.role }), _jsxs(HStack, { spacing: 2, children: [renderStatusBadge(selectedUser.isActive), selectedUser.isPending && (_jsx(Badge, { variant: "subtle", borderRadius: "full", px: 2, py: 0.5, fontSize: "xs", fontWeight: 600, colorScheme: "orange", textTransform: "none", children: labels.pendingInvitation }))] })] })] }), canManageUsers &&
|
|
83
81
|
!selectedUser.isSuperAdmin && (_jsxs(HStack, { spacing: 2, flexWrap: "wrap", children: [!selectedUser.isCurrent && !selectedUser.isActive && (_jsx(Button, { size: "xs", variant: "outline", colorScheme: "blue", fontSize: "xs", leftIcon: _jsx(Send, { size: 13 }), isLoading: isInviteLoading, onClick: () => selectedUser.userId != null &&
|
|
84
82
|
(onReinvite === null || onReinvite === void 0 ? void 0 : onReinvite(selectedUser.userId)), children: labels.resendInvitation })), _jsx(Button, { size: "xs", variant: "outline", colorScheme: "gray", fontSize: "xs", leftIcon: _jsx(Shield, { size: 13 }), onClick: () => {
|
|
85
83
|
if (selectedUser.userId != null) {
|
|
@@ -8,19 +8,7 @@ const PLACEMENT_STYLE = {
|
|
|
8
8
|
"bottom-end": { top: "100%", right: 0, marginTop: "6px" },
|
|
9
9
|
"bottom-start": { top: "100%", left: 0, marginTop: "6px" },
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
* Presentational, app-agnostic hover-preview for a "workspace tray" pill (or any
|
|
13
|
-
* trigger). Headless of any data: the consumer passes the trigger as `children`
|
|
14
|
-
* and the card body as `preview` (node or render-prop receiving `close()`), so
|
|
15
|
-
* this can preview a ticket, a doc, a chat — anything — with the same intent-safe
|
|
16
|
-
* hover behavior.
|
|
17
|
-
*
|
|
18
|
-
* Intent-safe hover (hover-bridge): hovering the trigger opens the card after a
|
|
19
|
-
* short delay (anti-flash); a shared open/close timer + small gap let the cursor
|
|
20
|
-
* travel trigger ⇄ card without the card closing; leaving both (with a grace
|
|
21
|
-
* delay) closes it; Escape dismisses. Fetch/render the preview lazily via
|
|
22
|
-
* `onOpenChange`.
|
|
23
|
-
*/
|
|
11
|
+
// Presentational, app-agnostic hover-preview (intent-safe: open delay, close grace, Escape dismisses).
|
|
24
12
|
export default function WorkspaceTrayPreview({ children, preview, enabled = true, openDelayMs = 350, closeDelayMs = 200, placement = "top-end", onOpenChange, width = "340px", testId = "workspace-tray-preview", }) {
|
|
25
13
|
const theme = useCustomTheme();
|
|
26
14
|
const [open, setOpen] = useState(false);
|
|
@@ -76,7 +64,7 @@ export default function WorkspaceTrayPreview({ children, preview, enabled = true
|
|
|
76
64
|
e.stopPropagation();
|
|
77
65
|
closeNow();
|
|
78
66
|
}
|
|
79
|
-
}, children: [children, open && (_jsx(Box, { position: "absolute", ...PLACEMENT_STYLE[placement], w: typeof width === "number" ? `${width}px` : width, maxW: "min(360px, calc(100vw - 2rem))", bg: theme.colors.
|
|
67
|
+
}, children: [children, open && (_jsx(Box, { position: "absolute", ...PLACEMENT_STYLE[placement], w: typeof width === "number" ? `${width}px` : width, maxW: "min(360px, calc(100vw - 2rem))", bg: theme.colors.surfaceRaised, borderWidth: "1px", borderColor: theme.colors.boxborder[200], borderRadius: "lg", boxShadow: "xl", zIndex: 1500, pointerEvents: "auto", p: 3, textAlign: "left", color: theme.colors.text[700], cursor: "default", onMouseEnter: clearCloseTimer, onMouseLeave: scheduleClose, "data-testid": testId, children: typeof preview === "function"
|
|
80
68
|
? preview({ close: closeNow })
|
|
81
69
|
: preview }))] }));
|
|
82
70
|
}
|
|
@@ -3,17 +3,9 @@ import { Box, Flex, HStack, IconButton, Modal, ModalContent, ModalOverlay, Text,
|
|
|
3
3
|
import { ExternalLink, Minus, X } from "lucide-react";
|
|
4
4
|
import { useCustomTheme } from "../../Theme/useCustomTheme.js";
|
|
5
5
|
import { accentTextOnCanvas } from "../../Theme/tokens/builders/accentText.js";
|
|
6
|
-
//
|
|
7
|
-
// screen. There is no maximize/restore toggle (removed by product decision); the
|
|
8
|
-
// `onMedium`/`onMaximize` props are kept optional for back-compat but unused.
|
|
6
|
+
// NOTE: no maximize/restore toggle (removed by product decision) — onMedium/onMaximize kept optional for back-compat.
|
|
9
7
|
const WINDOW_SIZE = { maxW: "88rem", h: "92vh" };
|
|
10
|
-
|
|
11
|
-
* Presentational floating "workspace window" — a Jira-style dialog with
|
|
12
|
-
* minimize / close controls and an optional "open full page" affordance, at a
|
|
13
|
-
* single fixed size (no maximize/restore toggle). Headless of any state
|
|
14
|
-
* management: the parent owns the window state and passes callbacks. Render
|
|
15
|
-
* minimized windows with the companion WorkspaceTray.
|
|
16
|
-
*/
|
|
8
|
+
// Presentational floating "workspace window" (Jira-style dialog), headless — the parent owns window state.
|
|
17
9
|
export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, onOverlayClick, headerActions, testId = "workspace-window", }) {
|
|
18
10
|
// Must run before the early return: a minimized render would otherwise skip the hook
|
|
19
11
|
// and change hook order when the window reopens.
|
|
@@ -25,28 +17,19 @@ export default function WorkspaceWindow({ title, state, children, onMinimize, on
|
|
|
25
17
|
// Don't discard unsaved work on an accidental overlay click / Esc — the
|
|
26
18
|
// parent decides via the explicit Close control.
|
|
27
19
|
closeOnOverlayClick: false, closeOnEsc: false, children: [_jsx(ModalOverlay, { backdropFilter: "blur(3px)" }), _jsx(ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center",
|
|
28
|
-
//
|
|
29
|
-
// viewport, so Chakra's own closeOnOverlayClick never fires (the
|
|
30
|
-
// ModalOverlay sits behind it). Detect "clicked the blurred area
|
|
31
|
-
// around the window" ourselves: only when the click lands on this
|
|
32
|
-
// wrapper, not on the window Box or its children.
|
|
20
|
+
// NOTE: size="full" blocks Chakra's own closeOnOverlayClick — detect the outside click ourselves instead.
|
|
33
21
|
onMouseDown: (e) => {
|
|
34
22
|
if (e.target === e.currentTarget)
|
|
35
23
|
onOverlayClick === null || onOverlayClick === void 0 ? void 0 : onOverlayClick();
|
|
36
|
-
}, "data-testid": `${testId}-backdrop`, children: _jsxs(Box, { bg: theme.colors.
|
|
24
|
+
}, "data-testid": `${testId}-backdrop`, children: _jsxs(Box, { bg: theme.colors.surfaceRaised, borderRadius: "xl", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [_jsxs(Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: theme.colors.boxborder[200], bg: theme.colors.background[100], flexShrink: 0, children: [_jsx(Text, { fontSize: "sm", fontWeight: 600, color: theme.colors.text[700], noOfLines: 1, "data-testid": `${testId}-title`, children: title }), _jsxs(HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? (_jsx(IconButton, { "aria-label": "Open full page", size: "xs", variant: "ghost", icon: _jsx(ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? (_jsx(IconButton, { "aria-label": "Minimize", size: "xs", variant: "ghost", icon: _jsx(Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? (_jsx(IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: _jsx(X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), _jsx(Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
|
|
37
25
|
}
|
|
38
|
-
|
|
39
|
-
* Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
|
|
40
|
-
* the parent supplies the minimized items and restore/close handlers.
|
|
41
|
-
*/
|
|
26
|
+
// Bottom tray of restore pills for minimized WorkspaceWindows — presentational, parent supplies handlers.
|
|
42
27
|
export function WorkspaceTray({ items, onRestore, onClose, testId = "workspace-tray", renderItem, }) {
|
|
43
28
|
const theme = useCustomTheme();
|
|
44
29
|
if (!items.length)
|
|
45
30
|
return null;
|
|
46
31
|
return (
|
|
47
|
-
//
|
|
48
|
-
// than a full-width docked bar, so it never covers the bottom strip of page
|
|
49
|
-
// content and needs no reserved page gutter. Pills wrap upward.
|
|
32
|
+
// NOTE: floating bottom-right cluster (Gmail/Jira pattern), not a docked bar — needs no reserved page gutter.
|
|
50
33
|
_jsx(Flex, { position: "fixed", bottom: 4, right: 4, zIndex: 1400, direction: "row-reverse", wrap: "wrap-reverse", justify: "flex-start", gap: 2, maxW: { base: "calc(100vw - 2rem)", md: "36rem" }, "data-testid": testId, children: items.map((item) => {
|
|
51
34
|
const api = {
|
|
52
35
|
restore: () => onRestore === null || onRestore === void 0 ? void 0 : onRestore(item.id),
|
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
import { SCROLLBAR_WIDTH } from "../Theme/tokens/builders/scrollbar.js";
|
|
2
2
|
export const HEADER_HEIGHT = "4.3rem";
|
|
3
|
-
export const FlexCss = {
|
|
4
|
-
"&::-webkit-scrollbar": {
|
|
5
|
-
width: SCROLLBAR_WIDTH,
|
|
6
|
-
},
|
|
7
|
-
"&::-webkit-scrollbar-track": {
|
|
8
|
-
background: "transparent",
|
|
9
|
-
},
|
|
10
|
-
"&::-webkit-scrollbar-thumb": {
|
|
11
|
-
background: "transparent",
|
|
12
|
-
transition: "background 0.5s",
|
|
13
|
-
},
|
|
14
|
-
"&:hover::-webkit-scrollbar-thumb": {
|
|
15
|
-
background: "var(--chakra-colors-primary-500, #718096)",
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
3
|
export const cssForScrollBar = (theme) => ({
|
|
19
4
|
"&::-webkit-scrollbar": {
|
|
20
5
|
width: SCROLLBAR_WIDTH,
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
/** Debounces a callback. The returned function keeps a stable identity across re-renders. */
|
|
3
|
+
export function useDebouncedCallback(callback, delay) {
|
|
4
|
+
const callbackRef = useRef(callback);
|
|
5
|
+
const timerRef = useRef(null);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
callbackRef.current = callback;
|
|
8
|
+
}, [callback]);
|
|
9
|
+
const cancel = useCallback(() => {
|
|
10
|
+
if (timerRef.current)
|
|
11
|
+
clearTimeout(timerRef.current);
|
|
12
|
+
timerRef.current = null;
|
|
13
|
+
}, []);
|
|
14
|
+
useEffect(() => cancel, [cancel]);
|
|
15
|
+
const debounced = useCallback((...args) => {
|
|
16
|
+
cancel();
|
|
17
|
+
timerRef.current = setTimeout(() => callbackRef.current(...args), delay);
|
|
18
|
+
}, [cancel, delay]);
|
|
19
|
+
return Object.assign(debounced, { cancel });
|
|
20
|
+
}
|
|
21
|
+
/** Trails `value` by `delay`, so a fast-changing input drives one query instead of one per keystroke. */
|
|
22
|
+
export function useDebouncedValue(value, delay) {
|
|
23
|
+
const [settled, setSettled] = useState(value);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const timer = setTimeout(() => setSettled(value), delay);
|
|
26
|
+
return () => clearTimeout(timer);
|
|
27
|
+
}, [value, delay]);
|
|
28
|
+
return settled;
|
|
29
|
+
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useId, useRef } from "react";
|
|
2
2
|
import { exclusiveClose, exclusiveOpen } from "./exclusiveOverlay.js";
|
|
3
|
-
|
|
4
|
-
* Register this overlay with the global dismiss coordinator. Call `requestOpen()`
|
|
5
|
-
* immediately before opening; `onClose` is invoked when another overlay opens.
|
|
6
|
-
*/
|
|
3
|
+
// NOTE: registers with the global dismiss coordinator — call requestOpen() before opening.
|
|
7
4
|
export const useExclusiveOverlay = (isOpen, onClose) => {
|
|
8
5
|
const id = useId();
|
|
9
6
|
const onCloseRef = useRef(onClose);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
/** Wraps the standard Fullscreen API for one element; toggle() swallows a denied/no-gesture request. */
|
|
3
|
+
export function useFullscreen(target) {
|
|
4
|
+
const [isFullscreen, setFullscreen] = useState(false);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
const sync = () => setFullscreen(Boolean(document.fullscreenElement) && document.fullscreenElement === target.current);
|
|
7
|
+
document.addEventListener("fullscreenchange", sync);
|
|
8
|
+
return () => document.removeEventListener("fullscreenchange", sync);
|
|
9
|
+
}, [target]);
|
|
10
|
+
const toggle = useCallback(async () => {
|
|
11
|
+
const el = target.current;
|
|
12
|
+
if (!el)
|
|
13
|
+
return;
|
|
14
|
+
try {
|
|
15
|
+
if (document.fullscreenElement)
|
|
16
|
+
await document.exitFullscreen();
|
|
17
|
+
else if (typeof el.requestFullscreen === "function")
|
|
18
|
+
await el.requestFullscreen();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
setFullscreen(false);
|
|
22
|
+
}
|
|
23
|
+
}, [target]);
|
|
24
|
+
return {
|
|
25
|
+
isFullscreen,
|
|
26
|
+
toggle,
|
|
27
|
+
isSupported: typeof document !== "undefined" && document.fullscreenEnabled,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -1,34 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
-
|
|
3
|
-
* Detects whether an element's text is *actually* visually truncated — i.e. the
|
|
4
|
-
* ellipsis is active. Works for both single-line clamps
|
|
5
|
-
* (`overflow: hidden; white-space: nowrap; text-overflow: ellipsis`) and
|
|
6
|
-
* multi-line clamps (`-webkit-line-clamp` / Chakra `noOfLines`), by comparing
|
|
7
|
-
* the scroll size against the visible client size.
|
|
8
|
-
*
|
|
9
|
-
* Attach the returned `ref` to the element that clamps the text, then read
|
|
10
|
-
* `isTruncated` to decide whether a tooltip is worth showing. Re-measures on
|
|
11
|
-
* element resize (via `ResizeObserver`) and whenever `content` changes.
|
|
12
|
-
*
|
|
13
|
-
* @param content Pass the rendered text (or anything that changes with it) so
|
|
14
|
-
* the measurement re-runs when the content changes — the clamp box can keep
|
|
15
|
-
* the same size while the text length changes, which a `ResizeObserver` alone
|
|
16
|
-
* would not catch.
|
|
17
|
-
* @param enabled Set to `false` to fully disable measurement — no layout reads,
|
|
18
|
-
* no `ResizeObserver`, no state updates. Use it to keep the hook cheap when
|
|
19
|
-
* the caller isn't in truncation mode (`isTruncated` stays `false`).
|
|
20
|
-
*
|
|
21
|
-
* Performance: measurement runs only on mount, on element **resize**, and when
|
|
22
|
-
* `content` changes — never on hover, scroll, or re-render. Each run does a
|
|
23
|
-
* single batched layout read (four properties) on one element. When `enabled`
|
|
24
|
-
* is `false` the hook does nothing at all.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* const { ref, isTruncated } = useIsTruncated(title);
|
|
28
|
-
* <ToolTip label={title} isDisabled={!isTruncated}>
|
|
29
|
-
* <Text ref={ref} noOfLines={1}>{title}</Text>
|
|
30
|
-
* </ToolTip>
|
|
31
|
-
*/
|
|
2
|
+
// NOTE: compares scrollWidth/Height vs clientWidth/Height to detect real ellipsis truncation; re-measures via ResizeObserver.
|
|
32
3
|
export function useIsTruncated(content, enabled = true) {
|
|
33
4
|
const ref = useRef(null);
|
|
34
5
|
const [isTruncated, setIsTruncated] = useState(false);
|
|
@@ -18,11 +18,7 @@ const constructUrl = ({ baseUrl, key, page, name, orgId }) => {
|
|
|
18
18
|
};
|
|
19
19
|
const useGetPreferences = ({ baseUrl = "", key = "", page = "", name = "", authToken = "", orgId = "", }) => {
|
|
20
20
|
const [preferences, setPreferences] = useState([]);
|
|
21
|
-
//
|
|
22
|
-
// read by consumers (KanbanBoard's preferences-hydration effect) on their
|
|
23
|
-
// very first render, before this hook's own mount effect has run. Starting
|
|
24
|
-
// false let that first render look like "nothing loading, nothing saved",
|
|
25
|
-
// which permanently skipped hydration once the real data arrived.
|
|
21
|
+
// NOTE: must start true — KanbanBoard's hydration effect reads this before this hook's mount effect runs.
|
|
26
22
|
const [loading, setLoading] = useState(() => Boolean(baseUrl));
|
|
27
23
|
useEffect(() => {
|
|
28
24
|
if (!baseUrl) {
|
|
@@ -59,7 +55,6 @@ const useSavePreferences = ({ baseUrl = "", key = "", page = "", name = "", auth
|
|
|
59
55
|
body: JSON.stringify({ key, page, name, json: data }),
|
|
60
56
|
})
|
|
61
57
|
.then((r) => r.json())
|
|
62
|
-
.then((d) => console.log(d))
|
|
63
58
|
.catch((e) => setError(e))
|
|
64
59
|
.finally(() => setLoading(false));
|
|
65
60
|
}, [baseUrl, orgId, authToken, key, page, name]);
|
|
@@ -45,8 +45,7 @@ export const useSidebarPrefs = (options = {}) => {
|
|
|
45
45
|
const toggleMobileNav = useCallback(() => setPrefs((p) => ({ ...p, mobileNav: !p.mobileNav })), []);
|
|
46
46
|
const toggleCollapsed = useCallback(() => setPrefs((p) => ({ ...p, collapsed: !p.collapsed })), []);
|
|
47
47
|
const toggleMobileOpen = useCallback(() => setPrefs((p) => ({ ...p, mobileOpen: !p.mobileOpen })), []);
|
|
48
|
-
// Composed handlers
|
|
49
|
-
// the navbar-mode/drawer behavior (the part that's easy to get wrong per app).
|
|
48
|
+
// Composed handlers, mapped directly onto SideBar props so apps don't re-implement drawer behavior.
|
|
50
49
|
const onToggleMobileNav = useCallback(() => setPrefs((p) => {
|
|
51
50
|
const next = !p.mobileNav;
|
|
52
51
|
// Entering navbar mode opens the drawer; leaving docks it.
|
|
@@ -3,14 +3,14 @@ const REQUIRED_GROUPS = [
|
|
|
3
3
|
"semantic", "gray", "red", "orange", "yellow", "green", "teal", "blue", "cyan",
|
|
4
4
|
"purple", "pink", "backgroundColor", "background", "text", "header", "placeholder",
|
|
5
5
|
"boxShadow", "focusRing", "sidebar", "boxborder", "border", "table", "disabled",
|
|
6
|
-
"accentText", "textMuted", "semanticText", "onPrimary", "onSemantic",
|
|
6
|
+
"accentText", "textMuted", "semanticText", "onPrimary", "onSemantic", "surfaceRaised",
|
|
7
7
|
];
|
|
8
8
|
export const allPaletteTokensListed = true;
|
|
9
9
|
const NESTED = [
|
|
10
10
|
["semantic", ["success", "error", "warning", "info"]],
|
|
11
11
|
["sidebar", [
|
|
12
12
|
"background", "activeIcon", "activeLabel", "mutedIcon", "mutedLabel", "elevated",
|
|
13
|
-
"semanticText",
|
|
13
|
+
"semanticText", "hoverBg", "activeBg", "divider",
|
|
14
14
|
]],
|
|
15
15
|
["semanticText", ["success", "error", "warning", "info"]],
|
|
16
16
|
["onSemantic", ["success", "error", "warning", "info"]],
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { cardAnatomy } from "@chakra-ui/anatomy";
|
|
2
|
+
import { createMultiStyleConfigHelpers, cssVar } from "@chakra-ui/react";
|
|
3
|
+
import { paletteOf } from "./paletteFromTheme.js";
|
|
4
|
+
const { defineMultiStyleConfig, definePartsStyle } = createMultiStyleConfigHelpers(cardAnatomy.keys);
|
|
5
|
+
const $bg = cssVar("card-bg");
|
|
6
|
+
const $padding = cssVar("card-padding");
|
|
7
|
+
const $shadow = cssVar("card-shadow");
|
|
8
|
+
const $radius = cssVar("card-radius");
|
|
9
|
+
const $border = cssVar("card-border-width");
|
|
10
|
+
const $borderColor = cssVar("card-border-color");
|
|
11
|
+
const baseStyle = definePartsStyle(({ theme }) => {
|
|
12
|
+
const colors = paletteOf(theme);
|
|
13
|
+
return {
|
|
14
|
+
container: {
|
|
15
|
+
[$bg.variable]: colors.background[50],
|
|
16
|
+
[$radius.variable]: "radii.xl",
|
|
17
|
+
[$borderColor.variable]: colors.boxborder[200],
|
|
18
|
+
color: colors.text[900],
|
|
19
|
+
"& > .chakra-card__header + .chakra-card__body, & > .chakra-card__body + .chakra-card__footer": { paddingTop: 0 },
|
|
20
|
+
},
|
|
21
|
+
header: { color: colors.header[900], fontSize: "1rem", fontWeight: 600 },
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
const sizes = {
|
|
25
|
+
sm: definePartsStyle({
|
|
26
|
+
container: { [$radius.variable]: "radii.xl", [$padding.variable]: "0.75rem 1rem" },
|
|
27
|
+
}),
|
|
28
|
+
md: definePartsStyle({
|
|
29
|
+
container: { [$radius.variable]: "radii.xl", [$padding.variable]: "1rem 1.25rem" },
|
|
30
|
+
}),
|
|
31
|
+
lg: definePartsStyle({
|
|
32
|
+
container: { [$radius.variable]: "radii.xl", [$padding.variable]: "1.25rem 1.5rem" },
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
const variants = {
|
|
36
|
+
outline: definePartsStyle({
|
|
37
|
+
container: { [$border.variable]: "1px", [$shadow.variable]: "none" },
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
export const Card = defineMultiStyleConfig({
|
|
41
|
+
baseStyle,
|
|
42
|
+
sizes,
|
|
43
|
+
variants,
|
|
44
|
+
defaultProps: { variant: "outline", size: "md" },
|
|
45
|
+
});
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { paletteOf } from "./paletteFromTheme.js";
|
|
2
2
|
import { createMultiStyleConfigHelpers, cssVar } from "@chakra-ui/react";
|
|
3
3
|
import { drawerAnatomy } from "@chakra-ui/anatomy";
|
|
4
|
+
import { dialogPartStyles } from "./overlay.styles.js";
|
|
4
5
|
const { defineMultiStyleConfig, definePartsStyle } = createMultiStyleConfigHelpers(drawerAnatomy.keys);
|
|
5
6
|
const $bg = cssVar("drawer-bg");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
})
|
|
7
|
+
// Chakra's stock `--drawer-bg` is a literal white behind `_dark`, which this palette-swap theme never enters.
|
|
8
|
+
const baseStyle = definePartsStyle(({ theme }) => {
|
|
9
|
+
const colors = paletteOf(theme);
|
|
10
|
+
const parts = dialogPartStyles(colors);
|
|
11
|
+
return {
|
|
12
|
+
...parts,
|
|
13
|
+
dialog: {
|
|
14
|
+
...parts.dialog,
|
|
15
|
+
[$bg.variable]: colors.surfaceRaised,
|
|
16
|
+
bg: $bg.reference,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
});
|
|
19
20
|
export const Drawer = defineMultiStyleConfig({
|
|
20
21
|
baseStyle,
|
|
21
22
|
});
|