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
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const lucide_react_1 = require("lucide-react");
|
|
10
|
+
const focusRing_1 = require("../../../Theme/tokens/builders/focusRing");
|
|
11
|
+
const mediaItems_1 = require("../mediaItems");
|
|
12
|
+
const useViewerChrome_1 = require("../useViewerChrome");
|
|
13
|
+
const MediaScrubber_1 = __importDefault(require("./MediaScrubber"));
|
|
14
|
+
const MediaStatusPanel_1 = __importDefault(require("./MediaStatusPanel"));
|
|
15
|
+
const ViewerIconButton_1 = __importDefault(require("./ViewerIconButton"));
|
|
16
|
+
const MediaAudioPlayerProps_1 = require("./MediaAudioPlayerProps");
|
|
17
|
+
const ARROW_SEEK_SECONDS = 5;
|
|
18
|
+
const ARROW_VOLUME_STEP = 0.1;
|
|
19
|
+
const MediaAudioPlayer = ({ item, label, onTimeChange, labels: labelOverrides }) => {
|
|
20
|
+
const labels = { ...MediaAudioPlayerProps_1.defaultMediaAudioPlayerLabels, ...labelOverrides };
|
|
21
|
+
const chrome = (0, useViewerChrome_1.useViewerChrome)();
|
|
22
|
+
const shellRef = (0, react_1.useRef)(null);
|
|
23
|
+
const audioRef = (0, react_1.useRef)(null);
|
|
24
|
+
const [playing, setPlaying] = (0, react_1.useState)(false);
|
|
25
|
+
const [current, setCurrent] = (0, react_1.useState)(0);
|
|
26
|
+
const [duration, setDuration] = (0, react_1.useState)(0);
|
|
27
|
+
const [volume, setVolume] = (0, react_1.useState)(1);
|
|
28
|
+
const [muted, setMuted] = (0, react_1.useState)(false);
|
|
29
|
+
const [rate, setRate] = (0, react_1.useState)(1);
|
|
30
|
+
const [failed, setFailed] = (0, react_1.useState)(false);
|
|
31
|
+
const [buffered, setBuffered] = (0, react_1.useState)([]);
|
|
32
|
+
const [volumeHover, setVolumeHover] = (0, react_1.useState)(false);
|
|
33
|
+
const ring = (0, focusRing_1.settleBetween)(chrome.accent, [chrome.stage, chrome.raised, chrome.hover]);
|
|
34
|
+
const audio = () => audioRef.current;
|
|
35
|
+
const togglePlay = () => {
|
|
36
|
+
const a = audio();
|
|
37
|
+
if (!a)
|
|
38
|
+
return;
|
|
39
|
+
if (a.paused)
|
|
40
|
+
void a.play().catch(() => setPlaying(false));
|
|
41
|
+
else
|
|
42
|
+
a.pause();
|
|
43
|
+
};
|
|
44
|
+
const seekTo = (seconds) => {
|
|
45
|
+
const a = audio();
|
|
46
|
+
if (!a)
|
|
47
|
+
return;
|
|
48
|
+
const max = Number.isFinite(a.duration) ? a.duration : seconds;
|
|
49
|
+
a.currentTime = Math.min(max, Math.max(0, seconds));
|
|
50
|
+
setCurrent(a.currentTime);
|
|
51
|
+
};
|
|
52
|
+
const seekBy = (delta) => { var _a, _b; return seekTo(((_b = (_a = audio()) === null || _a === void 0 ? void 0 : _a.currentTime) !== null && _b !== void 0 ? _b : 0) + delta); };
|
|
53
|
+
const toggleMute = () => {
|
|
54
|
+
const a = audio();
|
|
55
|
+
if (!a)
|
|
56
|
+
return;
|
|
57
|
+
a.muted = !a.muted;
|
|
58
|
+
if (!a.muted && a.volume === 0)
|
|
59
|
+
a.volume = 0.5;
|
|
60
|
+
};
|
|
61
|
+
const changeVolume = (value) => {
|
|
62
|
+
const a = audio();
|
|
63
|
+
if (!a)
|
|
64
|
+
return;
|
|
65
|
+
a.volume = value / 100;
|
|
66
|
+
a.muted = value === 0;
|
|
67
|
+
};
|
|
68
|
+
const changeRate = (value) => {
|
|
69
|
+
const a = audio();
|
|
70
|
+
if (a)
|
|
71
|
+
a.playbackRate = value;
|
|
72
|
+
setRate(value);
|
|
73
|
+
};
|
|
74
|
+
const actions = (0, react_1.useRef)({ togglePlay, seekBy, toggleMute, changeVolume });
|
|
75
|
+
(0, react_1.useEffect)(() => {
|
|
76
|
+
actions.current = { togglePlay, seekBy, toggleMute, changeVolume };
|
|
77
|
+
});
|
|
78
|
+
(0, react_1.useEffect)(() => {
|
|
79
|
+
const onKey = (event) => {
|
|
80
|
+
var _a, _b, _c, _d, _e, _f;
|
|
81
|
+
if (event.ctrlKey || event.metaKey || event.altKey || (0, mediaItems_1.isTypingTarget)(event.target))
|
|
82
|
+
return;
|
|
83
|
+
const a = actions.current;
|
|
84
|
+
const key = event.key.toLowerCase();
|
|
85
|
+
const playerHasFocus = (_b = (_a = shellRef.current) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement)) !== null && _b !== void 0 ? _b : false;
|
|
86
|
+
if (!playerHasFocus && key !== " " && key !== "k")
|
|
87
|
+
return;
|
|
88
|
+
if (key === " " || key === "k")
|
|
89
|
+
a.togglePlay();
|
|
90
|
+
else if (key === "j")
|
|
91
|
+
a.seekBy(-mediaItems_1.SEEK_STEP_SECONDS);
|
|
92
|
+
else if (key === "l")
|
|
93
|
+
a.seekBy(mediaItems_1.SEEK_STEP_SECONDS);
|
|
94
|
+
else if (key === "m")
|
|
95
|
+
a.toggleMute();
|
|
96
|
+
else if (event.key === "ArrowRight")
|
|
97
|
+
a.seekBy(ARROW_SEEK_SECONDS);
|
|
98
|
+
else if (event.key === "ArrowLeft")
|
|
99
|
+
a.seekBy(-ARROW_SEEK_SECONDS);
|
|
100
|
+
else if (event.key === "ArrowUp")
|
|
101
|
+
a.changeVolume(Math.min(100, ((_d = (_c = audio()) === null || _c === void 0 ? void 0 : _c.volume) !== null && _d !== void 0 ? _d : 0) * 100 + ARROW_VOLUME_STEP * 100));
|
|
102
|
+
else if (event.key === "ArrowDown")
|
|
103
|
+
a.changeVolume(Math.max(0, ((_f = (_e = audio()) === null || _e === void 0 ? void 0 : _e.volume) !== null && _f !== void 0 ? _f : 0) * 100 - ARROW_VOLUME_STEP * 100));
|
|
104
|
+
else
|
|
105
|
+
return;
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
};
|
|
108
|
+
const el = audioRef.current;
|
|
109
|
+
window.addEventListener("keydown", onKey);
|
|
110
|
+
return () => {
|
|
111
|
+
window.removeEventListener("keydown", onKey);
|
|
112
|
+
el === null || el === void 0 ? void 0 : el.pause();
|
|
113
|
+
};
|
|
114
|
+
}, []);
|
|
115
|
+
(0, react_1.useEffect)(() => {
|
|
116
|
+
setPlaying(false);
|
|
117
|
+
setCurrent(0);
|
|
118
|
+
setDuration(0);
|
|
119
|
+
setRate(1);
|
|
120
|
+
setFailed(false);
|
|
121
|
+
setBuffered([]);
|
|
122
|
+
if (audioRef.current)
|
|
123
|
+
audioRef.current.playbackRate = 1;
|
|
124
|
+
}, [item.key]);
|
|
125
|
+
const clock = (seconds) => (0, mediaItems_1.formatClock)(seconds);
|
|
126
|
+
const effectiveVolume = muted ? 0 : Math.round(volume * 100);
|
|
127
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { ref: shellRef, as: "section", "aria-label": `${labels.audioPlayer}: ${label}`, position: "absolute", inset: 0, bg: chrome.stage, children: [(0, jsx_runtime_1.jsx)("audio", { ref: audioRef, src: item.src, preload: "metadata", onPlay: () => setPlaying(true), onPause: () => setPlaying(false), onEnded: () => setPlaying(false), onError: () => setFailed(true), onProgress: (e) => {
|
|
128
|
+
const ranges = e.currentTarget.buffered;
|
|
129
|
+
setBuffered(Array.from({ length: ranges.length }, (_, i) => ({ start: ranges.start(i), end: ranges.end(i) })));
|
|
130
|
+
}, onTimeUpdate: (e) => {
|
|
131
|
+
setCurrent(e.currentTarget.currentTime);
|
|
132
|
+
onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange(e.currentTarget.currentTime);
|
|
133
|
+
}, onLoadedMetadata: (e) => setDuration(e.currentTarget.duration), onDurationChange: (e) => setDuration(e.currentTarget.duration), onVolumeChange: (e) => {
|
|
134
|
+
setVolume(e.currentTarget.volume);
|
|
135
|
+
setMuted(e.currentTarget.muted);
|
|
136
|
+
}, "data-testid": "media-audio" }), failed ? ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, jsx_runtime_1.jsx)(lucide_react_1.VolumeX, {}), label: label, message: labels.audioError, downloadHref: item.src, downloadLabel: labels.download, tone: "warning", testId: "media-audio-error" })) : ((0, jsx_runtime_1.jsxs)(react_2.Flex, { direction: "column", align: "center", justify: "center", h: "100%", px: { base: 4, md: 10 }, gap: 6, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { boxSize: { base: "96px", md: "140px" }, borderRadius: "full", bg: chrome.raised, align: "center", justify: "center", color: chrome.accent, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Music, { size: 48, "aria-hidden": true }) }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", fontWeight: 600, color: chrome.ink, noOfLines: 1, maxW: "480px", textAlign: "center", children: label }), (0, jsx_runtime_1.jsxs)(react_2.Box, { w: "100%", maxW: "480px", children: [(0, jsx_runtime_1.jsx)(MediaScrubber_1.default, { value: Math.min(current, duration || current), max: duration > 0 ? duration : 0, buffered: buffered, onSeek: seekTo, ariaLabel: labels.seek, ariaValueText: (v) => labels.seekValue(clock(v), clock(duration)), formatTime: clock, isDisabled: duration <= 0, testId: "media-audio-seek" }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { role: "toolbar", "aria-label": labels.audioControls, align: "center", justify: "space-between", gap: 2, wrap: "wrap", mt: 1, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 1, wrap: "wrap", children: [(0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": playing ? labels.pause : labels.play, icon: playing ? (0, jsx_runtime_1.jsx)(lucide_react_1.Pause, { size: 20 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.Play, { size: 20 }), onClick: togglePlay, isRound: true, variant: "ghost", bg: chrome.raised, color: chrome.accent, _hover: { bg: chrome.hover }, _focusVisible: { boxShadow: `0 0 0 2px ${ring}` }, "data-testid": "media-audio-toggle" }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.rewind, hint: "J", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.SkipBack, { size: 16 }), onClick: () => seekBy(-mediaItems_1.SEEK_STEP_SECONDS), testId: "media-audio-rewind" }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.forward, hint: "L", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.SkipForward, { size: 16 }), onClick: () => seekBy(mediaItems_1.SEEK_STEP_SECONDS), testId: "media-audio-forward" }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", onMouseEnter: () => setVolumeHover(true), onMouseLeave: () => setVolumeHover(false), sx: { "&:focus-within": { "--volume-w": "88px" } }, children: [(0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: muted || volume === 0 ? labels.unmute : labels.mute, hint: "M", icon: muted || volume === 0 ? (0, jsx_runtime_1.jsx)(lucide_react_1.VolumeX, { size: 18 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.Volume2, { size: 18 }), onClick: toggleMute, pressed: muted, testId: "media-audio-mute" }), (0, jsx_runtime_1.jsx)(react_2.Box, { w: volumeHover ? "88px" : "0px", overflow: "hidden", px: volumeHover ? 1 : 0, transition: "width 0.2s ease-out", sx: { "&:focus-within": { width: "88px", paddingInline: "4px" } }, children: (0, jsx_runtime_1.jsxs)(react_2.Slider, { "aria-label": labels.volume, min: 0, max: 100, step: 5, value: effectiveVolume, onChange: changeVolume, focusThumbOnChange: false, getAriaValueText: (v) => `${v}%`, children: [(0, jsx_runtime_1.jsx)(react_2.SliderTrack, { bg: chrome.track, h: "4px", borderRadius: "full", children: (0, jsx_runtime_1.jsx)(react_2.SliderFilledTrack, { bg: chrome.ink }) }), (0, jsx_runtime_1.jsx)(react_2.SliderThumb, { bg: chrome.ink, boxSize: "12px", _focusVisible: { boxShadow: `0 0 0 2px ${ring}` } })] }) })] }), (0, jsx_runtime_1.jsxs)(react_2.Text, { as: "span", ml: 2, fontSize: "sm", fontWeight: 500, color: chrome.ink, sx: { fontVariantNumeric: "tabular-nums" }, "data-testid": "media-audio-time", children: [clock(current), (0, jsx_runtime_1.jsx)(react_2.Text, { as: "span", color: chrome.muted, children: ` / ${clock(duration)}` })] })] }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 1, children: [(0, jsx_runtime_1.jsxs)(react_2.Menu, { placement: "top-end", children: [(0, jsx_runtime_1.jsx)(react_2.MenuButton, { "aria-label": labels.speed, h: "32px", px: 3, borderRadius: "full", borderWidth: "1px", borderColor: chrome.track, bg: chrome.raised, color: chrome.ink, fontSize: "sm", fontWeight: 600, _hover: { bg: chrome.hover }, _focusVisible: { boxShadow: `0 0 0 2px ${ring}` }, "data-testid": "media-audio-speed", children: (0, jsx_runtime_1.jsxs)(react_2.Flex, { as: "span", align: "center", gap: 1, children: [`${rate}x`, (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { size: 14, "aria-hidden": true })] }) }), (0, jsx_runtime_1.jsx)(react_2.MenuList, { minW: "160px", bg: chrome.raised, zIndex: 1500, children: (0, jsx_runtime_1.jsx)(react_2.MenuOptionGroup, { type: "radio", title: labels.speed, value: String(rate), onChange: (value) => changeRate(Number(value)), children: mediaItems_1.PLAYBACK_SPEEDS.map((speed) => ((0, jsx_runtime_1.jsx)(react_2.MenuItemOption, { value: String(speed), bg: chrome.raised, color: chrome.ink, _hover: { bg: chrome.hover }, _focus: { bg: chrome.hover }, children: speed === 1 ? `1x - ${labels.normalSpeed}` : `${speed}x` }, speed))) }) })] }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.download, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Download, { size: 18 }), href: item.src, testId: "media-audio-download" })] })] })] })] }))] }));
|
|
137
|
+
};
|
|
138
|
+
exports.default = MediaAudioPlayer;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { MediaItem } from "../mediaItems";
|
|
2
|
+
/** All copy shown in the audio player, merged over `defaultMediaAudioPlayerLabels`. */
|
|
3
|
+
export interface MediaAudioPlayerLabels {
|
|
4
|
+
/** Accessible name for the player region, combined with `label`. */
|
|
5
|
+
audioPlayer: string;
|
|
6
|
+
/** Shown instead of the transport when the file fails to load. */
|
|
7
|
+
audioError: string;
|
|
8
|
+
/** Big center play button and transport play toggle, when paused. */
|
|
9
|
+
play: string;
|
|
10
|
+
/** Transport play toggle, shown while playing. */
|
|
11
|
+
pause: string;
|
|
12
|
+
/** Accessible name of the transport `role="toolbar"` control group. */
|
|
13
|
+
audioControls: string;
|
|
14
|
+
/** Accessible name of the seek slider. */
|
|
15
|
+
seek: string;
|
|
16
|
+
/** Rewind-`SEEK_STEP_SECONDS` transport button, hint "J". */
|
|
17
|
+
rewind: string;
|
|
18
|
+
/** Forward-`SEEK_STEP_SECONDS` transport button, hint "L". */
|
|
19
|
+
forward: string;
|
|
20
|
+
/** Mute-toggle label shown while muted or at zero volume. */
|
|
21
|
+
unmute: string;
|
|
22
|
+
/** Mute-toggle label shown while audible. */
|
|
23
|
+
mute: string;
|
|
24
|
+
/** Accessible name of the volume slider. */
|
|
25
|
+
volume: string;
|
|
26
|
+
/** Accessible name of the playback-speed menu. */
|
|
27
|
+
speed: string;
|
|
28
|
+
/** Suffix shown next to "1x" in the speed menu, e.g. "1x - Normal". */
|
|
29
|
+
normalSpeed: string;
|
|
30
|
+
/** Download transport button's accessible name. */
|
|
31
|
+
download: string;
|
|
32
|
+
/** Builds the seek slider's `aria-valuetext` from two already-`formatClock`-ed strings. */
|
|
33
|
+
seekValue: (current: string, total: string) => string;
|
|
34
|
+
/** @deprecated Never read by MediaAudioPlayer; defined but unused. */
|
|
35
|
+
loading: string;
|
|
36
|
+
}
|
|
37
|
+
export declare const defaultMediaAudioPlayerLabels: MediaAudioPlayerLabels;
|
|
38
|
+
/** Props for the shared-scrubber audio transport rendered for `kind: "audio"` items. */
|
|
39
|
+
export interface MediaAudioPlayerProps {
|
|
40
|
+
/** The audio file to play; changing `item.key` resets playback state. */
|
|
41
|
+
item: MediaItem;
|
|
42
|
+
/** Accessible name for the player region, combined with `audioPlayer`. */
|
|
43
|
+
label: string;
|
|
44
|
+
/** Fires on every `timeupdate`, with the current playback position in seconds. */
|
|
45
|
+
onTimeChange?: (seconds: number) => void;
|
|
46
|
+
/** Overrides for any of `defaultMediaAudioPlayerLabels`, merged over the defaults. */
|
|
47
|
+
labels?: Partial<MediaAudioPlayerLabels>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultMediaAudioPlayerLabels = void 0;
|
|
4
|
+
exports.defaultMediaAudioPlayerLabels = {
|
|
5
|
+
audioPlayer: "Audio player",
|
|
6
|
+
audioError: "This audio could not be played",
|
|
7
|
+
play: "Play",
|
|
8
|
+
pause: "Pause",
|
|
9
|
+
audioControls: "Audio controls",
|
|
10
|
+
seek: "Seek",
|
|
11
|
+
rewind: "Back 10 seconds",
|
|
12
|
+
forward: "Forward 10 seconds",
|
|
13
|
+
unmute: "Unmute",
|
|
14
|
+
mute: "Mute",
|
|
15
|
+
volume: "Volume",
|
|
16
|
+
speed: "Playback speed",
|
|
17
|
+
normalSpeed: "Normal",
|
|
18
|
+
download: "Download",
|
|
19
|
+
seekValue: (current, total) => `${current} of ${total}`,
|
|
20
|
+
loading: "Loading",
|
|
21
|
+
};
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.MediaDocumentStage = void 0;
|
|
40
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
41
|
+
const react_1 = require("react");
|
|
42
|
+
const react_2 = require("@chakra-ui/react");
|
|
43
|
+
const PdfViewer_1 = __importDefault(require("../../PdfViewer/PdfViewer"));
|
|
44
|
+
const useViewerChrome_1 = require("../useViewerChrome");
|
|
45
|
+
const mediaKindIcon_1 = require("./mediaKindIcon");
|
|
46
|
+
const MediaStatusPanel_1 = __importDefault(require("./MediaStatusPanel"));
|
|
47
|
+
const sanitizeDocxHrefs_1 = require("./sanitizeDocxHrefs");
|
|
48
|
+
const MediaDocumentStageProps_1 = require("./MediaDocumentStageProps");
|
|
49
|
+
const DOCX_EXT_RE = /\.docx(?:[?#].*)?$/i;
|
|
50
|
+
const isDocxSource = (item) => { var _a; return DOCX_EXT_RE.test((_a = item.name) !== null && _a !== void 0 ? _a : "") || DOCX_EXT_RE.test(item.src); };
|
|
51
|
+
function PdfStage({ url, label }) {
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", inset: 0, px: { base: 0, md: 20 }, py: { base: 0, md: 4 }, sx: {
|
|
53
|
+
"& > div": { height: "100%", display: "flex", flexDirection: "column" },
|
|
54
|
+
"& embed": { flex: 1, height: "100%" },
|
|
55
|
+
}, "data-testid": "media-pdf", children: (0, jsx_runtime_1.jsx)(PdfViewer_1.default, { pdfUrl: url, fileName: label, height: "100%", showToolbar: false }) }));
|
|
56
|
+
}
|
|
57
|
+
const DOCX_PREVIEW = "docx-preview";
|
|
58
|
+
const loadDocxPreview = () => Promise.resolve(`${DOCX_PREVIEW}`).then(s => __importStar(require(s)));
|
|
59
|
+
function WordStage({ itemKey, url, blob, label, labels }) {
|
|
60
|
+
const chrome = (0, useViewerChrome_1.useViewerChrome)();
|
|
61
|
+
const hostRef = (0, react_1.useRef)(null);
|
|
62
|
+
const [failed, setFailed] = (0, react_1.useState)(false);
|
|
63
|
+
(0, react_1.useEffect)(() => {
|
|
64
|
+
setFailed(false);
|
|
65
|
+
const host = hostRef.current;
|
|
66
|
+
if (!host)
|
|
67
|
+
return;
|
|
68
|
+
let live = true;
|
|
69
|
+
loadDocxPreview()
|
|
70
|
+
.then(({ renderAsync }) => renderAsync(blob, host, undefined, { inWrapper: true, ignoreLastRenderedPageBreak: true }))
|
|
71
|
+
.then(() => {
|
|
72
|
+
if (live)
|
|
73
|
+
(0, sanitizeDocxHrefs_1.sanitizeDocxHrefs)(host);
|
|
74
|
+
})
|
|
75
|
+
.catch(() => {
|
|
76
|
+
if (live)
|
|
77
|
+
setFailed(true);
|
|
78
|
+
});
|
|
79
|
+
return () => {
|
|
80
|
+
live = false;
|
|
81
|
+
host.replaceChildren();
|
|
82
|
+
};
|
|
83
|
+
}, [itemKey, blob]);
|
|
84
|
+
if (failed) {
|
|
85
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.iconForKind)("doc"), label: label, message: labels.noPreview, hint: labels.noPreviewHint, downloadHref: url, downloadLabel: labels.download, testId: "media-file", downloadTestId: "media-file-download" }));
|
|
86
|
+
}
|
|
87
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { ref: hostRef, position: "absolute", inset: 0, overflow: "auto", sx: { "& .docx-wrapper": { background: chrome.stage, padding: { base: 2, md: 6 } } }, "data-testid": "media-doc" }));
|
|
88
|
+
}
|
|
89
|
+
function TextStage({ itemKey, url, blob, label, labels }) {
|
|
90
|
+
const chrome = (0, useViewerChrome_1.useViewerChrome)();
|
|
91
|
+
const [state, setState] = (0, react_1.useState)({
|
|
92
|
+
status: "loading",
|
|
93
|
+
});
|
|
94
|
+
(0, react_1.useEffect)(() => {
|
|
95
|
+
let live = true;
|
|
96
|
+
setState({ status: "loading" });
|
|
97
|
+
const load = blob ? blob.text() : fetch(url).then((res) => (res.ok ? res.text() : Promise.reject(new Error("fetch failed"))));
|
|
98
|
+
load
|
|
99
|
+
.then((text) => {
|
|
100
|
+
if (live)
|
|
101
|
+
setState({ status: "ready", text });
|
|
102
|
+
})
|
|
103
|
+
.catch(() => {
|
|
104
|
+
if (live)
|
|
105
|
+
setState({ status: "error" });
|
|
106
|
+
});
|
|
107
|
+
return () => {
|
|
108
|
+
live = false;
|
|
109
|
+
};
|
|
110
|
+
}, [itemKey, url, blob]);
|
|
111
|
+
if (state.status === "loading") {
|
|
112
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Flex, { position: "absolute", inset: 0, align: "center", justify: "center", "data-testid": "media-text-loading", children: (0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "lg", label: labels.loadingFile, color: chrome.ink }) }));
|
|
113
|
+
}
|
|
114
|
+
if (state.status === "error") {
|
|
115
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.warningIcon)(), label: label, message: labels.textLoadError, downloadHref: url, downloadLabel: labels.download, tone: "warning", testId: "media-text-error" }));
|
|
116
|
+
}
|
|
117
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", inset: 0, overflow: "auto", px: { base: 3, md: 8 }, py: 4, "data-testid": "media-text", children: (0, jsx_runtime_1.jsx)(react_2.Text, { as: "pre", fontFamily: "mono", fontSize: "sm", whiteSpace: "pre-wrap", wordBreak: "break-word", color: chrome.ink, children: state.text }) }));
|
|
118
|
+
}
|
|
119
|
+
const MediaDocumentStage = ({ item, label, resolveDocument, labels: labelOverrides, }) => {
|
|
120
|
+
const labels = { ...MediaDocumentStageProps_1.defaultMediaDocumentStageLabels, ...labelOverrides };
|
|
121
|
+
const chrome = (0, useViewerChrome_1.useViewerChrome)();
|
|
122
|
+
const resolution = resolveDocument(item);
|
|
123
|
+
if (resolution.status === "loading") {
|
|
124
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Flex, { position: "absolute", inset: 0, align: "center", justify: "center", "data-testid": "media-file-loading", children: (0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "lg", label: labels.loadingFile, color: chrome.ink }) }));
|
|
125
|
+
}
|
|
126
|
+
if (resolution.status === "missing" || resolution.status === "error") {
|
|
127
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { label: label, message: labels.fileError, downloadLabel: labels.download, icon: (0, mediaKindIcon_1.warningIcon)(), tone: "warning", testId: "media-file-missing" }));
|
|
128
|
+
}
|
|
129
|
+
if (item.kind === "pdf")
|
|
130
|
+
return (0, jsx_runtime_1.jsx)(PdfStage, { url: resolution.url, label: label });
|
|
131
|
+
if (item.kind === "text") {
|
|
132
|
+
return (0, jsx_runtime_1.jsx)(TextStage, { itemKey: item.key, url: resolution.url, blob: resolution.blob, label: label, labels: labels });
|
|
133
|
+
}
|
|
134
|
+
if (item.kind === "spreadsheet" || item.kind === "presentation" || item.kind === "archive") {
|
|
135
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.iconForKind)(item.kind), label: label, message: labels.noPreview, hint: labels.noPreviewHint, downloadHref: resolution.url, downloadLabel: labels.download, testId: `media-${item.kind}` }));
|
|
136
|
+
}
|
|
137
|
+
if (item.kind === "doc") {
|
|
138
|
+
if (!isDocxSource(item)) {
|
|
139
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.iconForKind)("doc"), label: label, message: labels.noPreview, hint: labels.noPreviewHint, downloadHref: resolution.url, downloadLabel: labels.download, testId: "media-file", downloadTestId: "media-file-download" }));
|
|
140
|
+
}
|
|
141
|
+
if (!resolution.blob) {
|
|
142
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { label: label, message: labels.fileError, downloadLabel: labels.download, icon: (0, mediaKindIcon_1.warningIcon)(), tone: "warning", testId: "media-file-missing" }));
|
|
143
|
+
}
|
|
144
|
+
return (0, jsx_runtime_1.jsx)(WordStage, { itemKey: item.key, url: resolution.url, blob: resolution.blob, label: label, labels: labels });
|
|
145
|
+
}
|
|
146
|
+
return ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.iconForKind)("file"), label: label, message: labels.noPreview, hint: labels.noPreviewHint, downloadHref: resolution.url, downloadLabel: labels.download, testId: "media-file", downloadTestId: "media-file-download" }));
|
|
147
|
+
};
|
|
148
|
+
exports.MediaDocumentStage = MediaDocumentStage;
|
|
149
|
+
exports.default = exports.MediaDocumentStage;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MediaItem } from "../mediaItems";
|
|
2
|
+
/** Result of the host app resolving a document item to a fetchable url (and, for DOCX, a Blob). */
|
|
3
|
+
export type DocumentResolution = {
|
|
4
|
+
status: "loading";
|
|
5
|
+
} | {
|
|
6
|
+
status: "ready";
|
|
7
|
+
url: string;
|
|
8
|
+
blob?: Blob;
|
|
9
|
+
} | {
|
|
10
|
+
status: "missing";
|
|
11
|
+
} | {
|
|
12
|
+
status: "error";
|
|
13
|
+
};
|
|
14
|
+
/** Host-supplied resolver, called every render like a hook-shaped prop — no default, no built-in fetch. */
|
|
15
|
+
export type ResolveDocument = (item: MediaItem) => DocumentResolution;
|
|
16
|
+
/** All copy shown by the document stage, merged over `defaultMediaDocumentStageLabels`. */
|
|
17
|
+
export interface MediaDocumentStageLabels {
|
|
18
|
+
/** Download button's accessible name on every status panel. */
|
|
19
|
+
download: string;
|
|
20
|
+
/** Headline shown for a kind with no inline preview (spreadsheet, presentation, archive, non-docx doc). */
|
|
21
|
+
noPreview: string;
|
|
22
|
+
/** Hint text under `noPreview`, prompting a download instead. */
|
|
23
|
+
noPreviewHint: string;
|
|
24
|
+
/** Spinner label while `resolveDocument` reports `status: "loading"`, and while fetching a text file. */
|
|
25
|
+
loadingFile: string;
|
|
26
|
+
/** Shown when `resolveDocument` reports `status: "missing"` or `"error"`, or a docx resolves with no blob. */
|
|
27
|
+
fileError: string;
|
|
28
|
+
/** Shown when a text/code file fails to fetch for preview. */
|
|
29
|
+
textLoadError: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const defaultMediaDocumentStageLabels: MediaDocumentStageLabels;
|
|
32
|
+
/** Props for the pdf/doc/text/spreadsheet/presentation/archive/file stage. */
|
|
33
|
+
export interface MediaDocumentStageProps {
|
|
34
|
+
/** The document item to render; changing `item.key` resets internal render-failure state. */
|
|
35
|
+
item: MediaItem;
|
|
36
|
+
/** Accessible name / display label for the file. */
|
|
37
|
+
label: string;
|
|
38
|
+
/** Resolves `item` to a url/blob; the host app owns its own data-fetching pipeline. */
|
|
39
|
+
resolveDocument: ResolveDocument;
|
|
40
|
+
/** Overrides for any of `defaultMediaDocumentStageLabels`, merged over the defaults. */
|
|
41
|
+
labels?: Partial<MediaDocumentStageLabels>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultMediaDocumentStageLabels = void 0;
|
|
4
|
+
exports.defaultMediaDocumentStageLabels = {
|
|
5
|
+
download: "Download",
|
|
6
|
+
noPreview: "This file can't be previewed here",
|
|
7
|
+
noPreviewHint: "Download it to open it on your device.",
|
|
8
|
+
loadingFile: "Loading file…",
|
|
9
|
+
fileError: "This file could not be loaded. It may have been moved or deleted.",
|
|
10
|
+
textLoadError: "This file's contents could not be loaded.",
|
|
11
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const lucide_react_1 = require("lucide-react");
|
|
10
|
+
const useFullscreen_1 = require("../../../Hooks/useFullscreen");
|
|
11
|
+
const mediaItems_1 = require("../mediaItems");
|
|
12
|
+
const useViewerChrome_1 = require("../useViewerChrome");
|
|
13
|
+
const mediaKindIcon_1 = require("./mediaKindIcon");
|
|
14
|
+
const MediaStatusPanel_1 = __importDefault(require("./MediaStatusPanel"));
|
|
15
|
+
const ViewerIconButton_1 = __importDefault(require("./ViewerIconButton"));
|
|
16
|
+
const MediaImageViewerProps_1 = require("./MediaImageViewerProps");
|
|
17
|
+
const ORIGIN = { x: 0, y: 0 };
|
|
18
|
+
const MediaImageViewer = ({ item, label, onZoomChange, onNaturalSize, labels: labelOverrides, }) => {
|
|
19
|
+
const labels = { ...MediaImageViewerProps_1.defaultMediaImageViewerLabels, ...labelOverrides };
|
|
20
|
+
const chrome = (0, useViewerChrome_1.useViewerChrome)();
|
|
21
|
+
const stageRef = (0, react_1.useRef)(null);
|
|
22
|
+
const drag = (0, react_1.useRef)(null);
|
|
23
|
+
const [zoom, setZoom] = (0, react_1.useState)(100);
|
|
24
|
+
const [rotation, setRotation] = (0, react_1.useState)(0);
|
|
25
|
+
const [pan, setPan] = (0, react_1.useState)(ORIGIN);
|
|
26
|
+
const [failed, setFailed] = (0, react_1.useState)(false);
|
|
27
|
+
const [dragging, setDragging] = (0, react_1.useState)(false);
|
|
28
|
+
const { isFullscreen, toggle: toggleFullscreen, isSupported: fullscreenSupported } = (0, useFullscreen_1.useFullscreen)(stageRef);
|
|
29
|
+
(0, react_1.useEffect)(() => {
|
|
30
|
+
onZoomChange === null || onZoomChange === void 0 ? void 0 : onZoomChange(zoom);
|
|
31
|
+
}, [zoom, onZoomChange]);
|
|
32
|
+
// Defense in depth: a parent that reuses this instance across items (no key remount) must not carry state over.
|
|
33
|
+
(0, react_1.useEffect)(() => {
|
|
34
|
+
setZoom(100);
|
|
35
|
+
setRotation(0);
|
|
36
|
+
setPan(ORIGIN);
|
|
37
|
+
setFailed(false);
|
|
38
|
+
}, [item.key]);
|
|
39
|
+
const zoomBy = (delta) => {
|
|
40
|
+
const next = (0, mediaItems_1.clampZoom)(zoom + delta);
|
|
41
|
+
setZoom(next);
|
|
42
|
+
if (next <= 100)
|
|
43
|
+
setPan(ORIGIN);
|
|
44
|
+
};
|
|
45
|
+
const reset = () => {
|
|
46
|
+
setZoom(100);
|
|
47
|
+
setRotation(0);
|
|
48
|
+
setPan(ORIGIN);
|
|
49
|
+
};
|
|
50
|
+
const rotate = () => setRotation((r) => (r + 90) % 360);
|
|
51
|
+
const actions = (0, react_1.useRef)({ zoomBy, reset, rotate, toggleFullscreen });
|
|
52
|
+
(0, react_1.useEffect)(() => {
|
|
53
|
+
actions.current = { zoomBy, reset, rotate, toggleFullscreen };
|
|
54
|
+
});
|
|
55
|
+
(0, react_1.useEffect)(() => {
|
|
56
|
+
const onKey = (event) => {
|
|
57
|
+
if (event.ctrlKey || event.metaKey || event.altKey || (0, mediaItems_1.isTypingTarget)(event.target))
|
|
58
|
+
return;
|
|
59
|
+
const a = actions.current;
|
|
60
|
+
if (event.key === "+" || event.key === "=")
|
|
61
|
+
a.zoomBy(mediaItems_1.ZOOM_STEP);
|
|
62
|
+
else if (event.key === "-" || event.key === "_")
|
|
63
|
+
a.zoomBy(-mediaItems_1.ZOOM_STEP);
|
|
64
|
+
else if (event.key === "0")
|
|
65
|
+
a.reset();
|
|
66
|
+
else if (event.key === "r" || event.key === "R")
|
|
67
|
+
a.rotate();
|
|
68
|
+
else if (event.key === "f" || event.key === "F")
|
|
69
|
+
void a.toggleFullscreen();
|
|
70
|
+
else
|
|
71
|
+
return;
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
};
|
|
74
|
+
window.addEventListener("keydown", onKey);
|
|
75
|
+
return () => window.removeEventListener("keydown", onKey);
|
|
76
|
+
}, []);
|
|
77
|
+
const unsupported = (0, mediaItems_1.isUnsupportedImageSrc)(item.src);
|
|
78
|
+
const onPointerDown = (event) => {
|
|
79
|
+
if (zoom <= 100)
|
|
80
|
+
return;
|
|
81
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
82
|
+
drag.current = { start: { x: event.clientX, y: event.clientY }, from: pan };
|
|
83
|
+
setDragging(true);
|
|
84
|
+
};
|
|
85
|
+
const onPointerMove = (event) => {
|
|
86
|
+
const d = drag.current;
|
|
87
|
+
if (!d)
|
|
88
|
+
return;
|
|
89
|
+
setPan({ x: d.from.x + event.clientX - d.start.x, y: d.from.y + event.clientY - d.start.y });
|
|
90
|
+
};
|
|
91
|
+
const endDrag = () => {
|
|
92
|
+
drag.current = null;
|
|
93
|
+
setDragging(false);
|
|
94
|
+
};
|
|
95
|
+
if (unsupported) {
|
|
96
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", inset: 0, bg: chrome.stage, children: (0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.iconForKind)("image"), label: label, message: labels.unsupportedFormat, hint: labels.unsupportedFormatHint, downloadHref: item.src, downloadLabel: labels.download, tone: "warning", testId: "media-image-unsupported" }) }));
|
|
97
|
+
}
|
|
98
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { ref: stageRef, position: "absolute", inset: 0, bg: chrome.stage, overflow: "hidden", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { position: "absolute", inset: 0, align: "center", justify: "center", p: { base: 2, md: 6 }, pb: { base: 20, md: 24 }, cursor: zoom > 100 ? (dragging ? "grabbing" : "grab") : "default", onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: endDrag, onPointerCancel: endDrag, sx: { touchAction: zoom > 100 ? "none" : "pan-y" }, children: failed ? ((0, jsx_runtime_1.jsx)(MediaStatusPanel_1.default, { icon: (0, mediaKindIcon_1.warningIcon)(), label: label, message: labels.imageError, downloadLabel: labels.download, downloadHref: item.src, tone: "warning", testId: "media-image-error" })) : ((0, jsx_runtime_1.jsx)(react_2.Image, { src: item.src, alt: label, maxW: "100%", maxH: "100%", objectFit: "contain", draggable: false, userSelect: "none", onError: () => setFailed(true), onLoad: (event) => onNaturalSize === null || onNaturalSize === void 0 ? void 0 : onNaturalSize({
|
|
99
|
+
width: event.currentTarget.naturalWidth,
|
|
100
|
+
height: event.currentTarget.naturalHeight,
|
|
101
|
+
}), transform: `translate(${pan.x}px, ${pan.y}px) scale(${zoom / 100}) rotate(${rotation}deg)`, transition: dragging ? "none" : "transform 0.15s ease-out", "data-testid": "media-image" })) }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { role: "toolbar", "aria-label": labels.imageControls, position: "absolute", bottom: 4, left: "50%", transform: "translateX(-50%)", align: "center", gap: 1, p: 1, borderRadius: "12px", bg: chrome.raised, borderWidth: "1px", borderColor: chrome.hover, maxW: "calc(100% - 16px)", overflowX: "auto", children: [(0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.zoomOut, hint: "-", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ZoomOut, { size: 18 }), onClick: () => zoomBy(-mediaItems_1.ZOOM_STEP), isDisabled: zoom <= mediaItems_1.MIN_ZOOM, testId: "media-zoom-out" }), (0, jsx_runtime_1.jsx)(react_2.Text, { as: "output", "aria-live": "polite", "aria-label": labels.zoomLevel, minW: "56px", textAlign: "center", fontSize: "sm", fontWeight: 600, color: chrome.ink, "data-testid": "media-zoom-level", children: `${zoom}%` }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.zoomIn, hint: "+", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ZoomIn, { size: 18 }), onClick: () => zoomBy(mediaItems_1.ZOOM_STEP), isDisabled: zoom >= mediaItems_1.MAX_ZOOM, testId: "media-zoom-in" }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.fitLabel, hint: "0", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Scan, { size: 16, "aria-hidden": true }), onClick: reset, testId: "media-fit" }), (0, jsx_runtime_1.jsx)(react_2.Box, { w: "1px", h: "24px", bg: chrome.hover, mx: 1, "aria-hidden": true }), (0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: labels.rotate, hint: "R", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.RotateCw, { size: 18 }), onClick: rotate, testId: "media-rotate" }), fullscreenSupported ? ((0, jsx_runtime_1.jsx)(ViewerIconButton_1.default, { label: isFullscreen ? labels.exitFullscreen : labels.fullscreen, hint: "F", icon: isFullscreen ? (0, jsx_runtime_1.jsx)(lucide_react_1.Minimize, { size: 18 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.Maximize, { size: 18 }), onClick: () => void toggleFullscreen(), pressed: isFullscreen, testId: "media-fullscreen" })) : null] })] }));
|
|
102
|
+
};
|
|
103
|
+
exports.default = MediaImageViewer;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { MediaItem } from "../mediaItems";
|
|
2
|
+
/** All copy shown in the image stage, merged over `defaultMediaImageViewerLabels`. */
|
|
3
|
+
export interface MediaImageViewerLabels {
|
|
4
|
+
/** Shown instead of the image when it fails to load. */
|
|
5
|
+
imageError: string;
|
|
6
|
+
/** Accessible name of the `role="toolbar"` control group. */
|
|
7
|
+
imageControls: string;
|
|
8
|
+
/** Zoom-out button, hint "-"; disabled at `MIN_ZOOM`. */
|
|
9
|
+
zoomOut: string;
|
|
10
|
+
/** Accessible name of the live zoom-percent readout. */
|
|
11
|
+
zoomLevel: string;
|
|
12
|
+
/** Zoom-in button, hint "+"; disabled at `MAX_ZOOM`. */
|
|
13
|
+
zoomIn: string;
|
|
14
|
+
/** Tooltip/title for the reset-to-100% button, e.g. "Fit to screen (0)". */
|
|
15
|
+
fitLabel: string;
|
|
16
|
+
/** Visible text on the reset button. */
|
|
17
|
+
fit: string;
|
|
18
|
+
/** Rotate-90°-clockwise button, hint "R". */
|
|
19
|
+
rotate: string;
|
|
20
|
+
/** Fullscreen toggle label shown while already fullscreen. */
|
|
21
|
+
exitFullscreen: string;
|
|
22
|
+
/** Fullscreen toggle label shown while not fullscreen; only rendered when supported. */
|
|
23
|
+
fullscreen: string;
|
|
24
|
+
/** Download button's accessible name on the error/unsupported panels. */
|
|
25
|
+
download: string;
|
|
26
|
+
/** Shown for a format the browser can't decode inline (HEIC/HEIF), instead of a broken image. */
|
|
27
|
+
unsupportedFormat: string;
|
|
28
|
+
/** Hint text under `unsupportedFormat`, prompting a download instead. */
|
|
29
|
+
unsupportedFormatHint: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const defaultMediaImageViewerLabels: MediaImageViewerLabels;
|
|
32
|
+
/** Props for the pan/zoom image stage. */
|
|
33
|
+
export interface MediaImageViewerProps {
|
|
34
|
+
/** The image to display; changing `item.key` resets zoom/rotation/pan. */
|
|
35
|
+
item: MediaItem;
|
|
36
|
+
/** Accessible name (`alt`) for the rendered image. */
|
|
37
|
+
label: string;
|
|
38
|
+
/** Fires whenever zoom changes (keyboard, buttons, wheel); also gates swipe nav in the parent viewer. */
|
|
39
|
+
onZoomChange?: (zoom: number) => void;
|
|
40
|
+
/** Reports the loaded image's intrinsic pixel size. */
|
|
41
|
+
onNaturalSize?: (size: {
|
|
42
|
+
width: number;
|
|
43
|
+
height: number;
|
|
44
|
+
}) => void;
|
|
45
|
+
/** Overrides for any of `defaultMediaImageViewerLabels`, merged over the defaults. */
|
|
46
|
+
labels?: Partial<MediaImageViewerLabels>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultMediaImageViewerLabels = void 0;
|
|
4
|
+
exports.defaultMediaImageViewerLabels = {
|
|
5
|
+
imageError: "This photo could not be loaded",
|
|
6
|
+
imageControls: "Image controls",
|
|
7
|
+
zoomOut: "Zoom out",
|
|
8
|
+
zoomLevel: "Zoom level",
|
|
9
|
+
zoomIn: "Zoom in",
|
|
10
|
+
fitLabel: "Fit to screen",
|
|
11
|
+
fit: "Fit",
|
|
12
|
+
rotate: "Rotate",
|
|
13
|
+
exitFullscreen: "Exit fullscreen",
|
|
14
|
+
fullscreen: "Fullscreen",
|
|
15
|
+
download: "Download",
|
|
16
|
+
unsupportedFormat: "This photo format can't be previewed here",
|
|
17
|
+
unsupportedFormatHint: "Download it to view it on your device.",
|
|
18
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { MediaScrubberProps } from "./MediaScrubberProps";
|
|
3
|
+
/** Shared scrubber for video and audio — buffered range, hover/drag time tooltip, full keyboard slider semantics. */
|
|
4
|
+
declare const MediaScrubber: React.FC<MediaScrubberProps>;
|
|
5
|
+
export default MediaScrubber;
|